Relatório de Diagnóstico SQL Server

Servidor: SRVSEDE01621 | Banco: CORPORERM

Análise de Instância - SRVSEDE01621

Tamanho e Crescimento dos Bancos (por Filegroup) (�altima Hora)

Banco Filegroup/Tipo Tamanho Atual (MB) Crescimento Medio (MB/dia) desde criacao Crescimento Medio (MB/dia) Semanal +30 dias (Base Semanal) (MB) +90 dias (Base Semanal) (MB)
CorporeRMLOG130361.56199.330.00130361.56130361.56
CorporeRMPRIMARY964749.501475.150.00964749.50964749.50
CorporeRMSECONDARY92168.00140.935116.00245648.00552608.00
CorporeRM_GEDLOG514.000.790.00514.00514.00
CorporeRM_GEDPRIMARY529.000.810.00529.00529.00
CustomizacoesSGELOG105544.00161.380.00105544.00105544.00
CustomizacoesSGEPRIMARY146312.00223.720.00146312.00146312.00
DB_DBALOG8.000.010.008.008.00
DB_DBAPRIMARY8.000.010.008.008.00
db_stageLOG500.000.760.00500.00500.00
db_stagePRIMARY4776.007.300.004776.004776.00
SVSDBLOG520.0065.00256.008200.0023560.00
SVSDBPRIMARY8.001.000.008.008.00

Conexões Ativas (Em Processamento e Tempo Real)

Banco de Dados Login Host Programa Conexoes Ativas
CorporeRMusulinkSGESRVSEDE01644Microsoft SQL Server2
CorporeRMrmSEN603971.Net SqlClient Data Provider1
CorporeRMrmSRVSEDE01640.Net SqlClient Data Provider1
SVSDBusu.aiopsSGE1

Status dos Backups (> 2 dias)

Nome do Banco Recovery Model Tamanho (GB) Ultimo Backup
masterSIMPLE0.012025-12-21 21:33:50

Erros Log SQL (�altima Hora) (TOP 50)

Data Fonte Mensagem
Nenhuma mensagem contendo "Erro", "Error", "Fail" ou "Failed" encontrada nos logs da última hora.

Performance da Instância (�altima Hora)

Visão Em Tempo Real (Instância) (TOP 30)

SPID Status Bloqueado Por Tipo de Espera Tempo de Espera Tempo Decorrido CPU (ms) Login Host Programa Texto da Query
Nenhuma sessao ativa encontrada.

Histórico de CPU (�altima Hora)

Data Evento CPU SQL Server (%) CPU Ocioso (%) CPU Outros Processos (%) Alerta
2026-03-31 14:24:2512853
2026-03-31 14:23:255932
2026-03-31 14:22:2515832
2026-03-31 14:21:258902
2026-03-31 14:20:258902
2026-03-31 14:19:259883
2026-03-31 14:18:256922
2026-03-31 14:17:258902
2026-03-31 14:16:247912
2026-03-31 14:15:245923
2026-03-31 14:14:243952
2026-03-31 14:13:248893
2026-03-31 14:12:248902
2026-03-31 14:11:243952
2026-03-31 14:10:2412853
2026-03-31 14:09:245923
2026-03-31 14:08:245932
2026-03-31 14:07:2412862
2026-03-31 14:06:2416822
2026-03-31 14:05:235923
2026-03-31 14:04:235932
2026-03-31 14:03:239883
2026-03-31 14:02:239883
2026-03-31 14:01:238902
2026-03-31 14:00:239892
2026-03-31 13:59:2310882
2026-03-31 13:58:2311872
2026-03-31 13:57:2314842
2026-03-31 13:56:2318802
2026-03-31 13:55:2313843
2026-03-31 13:54:227903
2026-03-31 13:53:2212862
2026-03-31 13:52:2219792
2026-03-31 13:51:2216822
2026-03-31 13:50:227912
2026-03-31 13:49:229892
2026-03-31 13:48:228902
2026-03-31 13:47:226913
2026-03-31 13:46:228902
2026-03-31 13:45:2211863
2026-03-31 13:44:2213852
2026-03-31 13:43:227912
2026-03-31 13:42:2112853
2026-03-31 13:41:219892
2026-03-31 13:40:216913
2026-03-31 13:39:217912
2026-03-31 13:38:2113852
2026-03-31 13:37:2112853
2026-03-31 13:36:2116822
2026-03-31 13:35:2117812
2026-03-31 13:34:215923
2026-03-31 13:33:216922
2026-03-31 13:32:218893
2026-03-31 13:31:218884
2026-03-31 13:30:207903
2026-03-31 13:29:204942
2026-03-31 13:28:208902
2026-03-31 13:27:2010882
2026-03-31 13:26:2014842
2026-03-31 13:25:2019783

Fila de Disco (I/O Pendente) (Tempo Real)

Banco de Dados Arquivo Fisico IOs Pendentes Tempo Pendente (ms) Tipo de IO
Nenhuma fila de I/O pendente detectada.

Eventos de Auto Growth (�altima Hora)

Banco de Dados Arquivo Logico Tipo de Evento Tamanho Anterior (MB) Tamanho Novo (MB) Crescimento (MB) Hora do Evento (UTC)
Nenhum evento de auto-growth encontrado no trace na última hora.

Top Atividade I/O por Arquivo (Desde o último restart) (TOP 10)

Database Name File Name Reads Writes Total I/O Stalls (ms) Avg I/O Stall (ms)
CorporeRMCorporeRM_data1282715722910171064228607.04
CustomizacoesSGECustomizacoesSGE67769064980168534985.16
tempdbtemp71411302141079052336641.85
tempdbtemp81038387103808440738801.96
tempdbtemp695759995980439559732.06
tempdbtemp495830395969539408312.05
CorporeRMCorporeRM_log140873412918139229220.92
tempdbtemp579899580667935019962.18
tempdbtempdev82669883059834056992.05
tempdbtemp377469277928632703462.10

Latência por Datafiles (Desde o último restart) (TOP 50)

Drive Database Arquivo Read Latency (ms) Write Latency (ms) Avg Latency (ms) Classificacao Avg Bytes/Read Avg Bytes/Write Avg Bytes/Transfer
D:db_stageD:\MSSQL\DADOS\db_stage.mdf14014Poor6093579061580238
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I01.ndf42710Good13537213458103765
D:CorporeRMD:\MSSQL\DADOS\CorporeRM.mdf4247Good11943950124108935
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I10.ndf3136Good14903315149106221
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I06.ndf2116Good15462914129105871
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I05.ndf2126Good15095214419104743
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I04.ndf2105Very good15200615433108887
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I03.ndf3105Very good14910915423106086
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I02.ndf2115Very good14876115276105513
D:CustomizacoesSGED:\MSSQL\DADOS\CustomizacoesSGE.mdf735Very good29023543617169516
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I09.ndf3125Very good14961015301108412
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I08.ndf3105Very good15191714703106374
D:CorporeRMD:\MSSQL\DADOS\CorporeRM_I07.ndf2105Very good15346914423105914
T:tempdbT:\MSSQL\TEMPDB\tempdb.mdf032Very good639426394863945
T:tempdbT:\MSSQL\TEMPDB\tempdb_mssql_6.ndf032Very good638116396463888
T:tempdbT:\MSSQL\TEMPDB\tempdb_mssql_5.ndf032Very good640636378263922
T:tempdbT:\MSSQL\TEMPDB\tempdb_mssql_4.ndf032Very good637766397863877
T:tempdbT:\MSSQL\TEMPDB\tempdb_mssql_3.ndf032Very good640656389263978
C:msdbC:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf222Very good23397960921724
C:modelC:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\modellog.ldf101Excellent112867491556050
C:modelC:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\model.mdf111Excellent1683288192154316
T:tempdbT:\MSSQL\TEMPDB\tempdb_mssql_8.ndf031Excellent638876413864013
T:tempdbT:\MSSQL\TEMPDB\tempdb_mssql_7.ndf021Excellent642986454164419
T:tempdbT:\MSSQL\TEMPDB\tempdb_mssql_2.ndf021Excellent640716481264439
T:tempdbT:\MSSQL\TEMPDB\templog.ldf111Excellent156216059260553
C:masterC:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\mastlog.ldf211Excellent322211151812147
C:masterC:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\master.mdf111Excellent52787839036514
D:DB_DBAD:\MSSQL\DADOS\DB_DBA.mdf111Excellent58833819255340
D:CorporeRM_GEDD:\MSSQL\DADOS\CorporeRM_ged.mdf111Excellent62873884744339
L:SVSDBL:\MSSQL\LOG\SVSDB_log.ldf011Excellent582883385541891
D:SVSDBD:\MSSQL\DADOS\SVSDB.mdf121Excellent485051915330552
L:CorporeRML:\MSSQL\LOG\CorporeRM_1.ldf000Excellent10409293553868706
L:CustomizacoesSGEL:\MSSQL\LOG\CustomizacoesSGE_log.ldf100Excellent10119334329683041
L:db_stageL:\MSSQL\LOG\db_stage_log.ldf000Excellent2226062208848
L:CorporeRM_GEDL:\MSSQL\LOG\CorporeRM_ged_log.ldf100Excellent2959852848192
L:DB_DBAL:\MSSQL\LOG\DB_DBA_log.ldf100Excellent88405525322457
C:msdbC:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\MSDBLog.ldf200Excellent2897948995010

Principais Esperas (Waits) (Delta da �altima Hora)

Tipo de Espera (Wait Type) Tempo Total (s) (Delta) Tempo Recurso (s) (Delta) Tempo Sinal (s) (Delta) Contagem (Delta) Porcentagem Espera Média (s) Recurso Médio (s) Sinal Médio (s) URL de Ajuda
SOS_WORK_DISPATCHER757498.41757134.10364.30534644399.590.14170.14160.0001
https://www.sqlskills.com/help/waits/SOS_WORK_DISPATCHER

Top Queries por CPU (Desde o último restart) (TOP 10)

Exec Count Total CPU (s) Avg CPU (ms) Query Text
6596442.789776.60
SELECT SMATRICULA.RA,
                             SMATRICULA.IDTURMADISC,
                             SMATRICULA.IDTURMADISCORIGEM,
                             SUM(CASE WHEN SPLANOAULA.FREQUENCIADISPWEB = '1' AND 
                                                                 (SJUSTIFICATIVAFALTA.COMPOETOTALFALTAS = 'S' OR SJUSTIFICATIVAFALTA.COMPOETOTALFALTAS IS NULL) 
                                                                  THEN 1 ELSE 0 END) FALTAS
                      FROM SMATRICULA (NOLOCK)
                        JOIN SETAPAS (NOLOCK)
                          ON SETAPAS.CODCOLIGADA = SMATRICULA.CODCOLIGADA
                            AND SETAPAS.IDTURMADISC = SMATRICULA.IDTURMADISC
                            AND SETAPAS.CODETAPA = @CODETAPA
                            AND SETAPAS.TIPOETAPA = 'F'
                        LEFT JOIN SFREQUENCIA (NOLOCK)
                              ON SMATRICULA.CODCOLIGADA = SFREQUENCIA.CODCOLIGADA
                                   AND SMATRICULA.IDTURMADISC = SFREQUENCIA.IDTURMADISC
                                   AND SMATRICULA.RA = SFREQUENCIA.RA
                                   AND SFREQUENCIA.PRESENCA = 'A'
                                   AND ( ( SETAPAS.DTINICIO IS NULL AND SETAPAS.DTFIM IS NULL )
                                   OR ( SFREQUENCIA.DATA BETWEEN SETAPAS.DTINICIO AND SETAPAS.DTFIM ) )
                             LEFT JOIN SPLANOAULA (NOLOCK)
                                                    ON SFREQUENCIA.CODCOLIGADA = SPLANOAULA.CODCOLIGADA
                                                      AND SFREQUENCIA.IDTURMADISC = SPLANOAULA.IDTURMADISC
                                                      AND SFREQUENCIA.IDHORARIOTURMA = SPLANOAULA.IDHORARIOTURMA
                                                      AND SFREQUENCIA.DATA = SPLANOAULA.DATA
                        LEFT JOIN STURMADISCGERENCIADA (NOLOCK)
                          ON SMATRICULA.CODCOLIGADA = STURMADISCGERENCIADA.CODCOLIGADA
                             AND SMATRICULA.IDTURMADISC = STURMADISCGERENCIADA.IDTURMADISCGERENCIADA
                        LEFT JOIN SJUSTIFICATIVAFALTA (NOLOCK)
                          ON (SFREQUENCIA.CODCOLIGADA = SJUSTIFICATIVAFALTA.CODCOLIGADA
                             AND SFREQUENCIA.IDJUSTIFICATIVAFALTA = SJUSTIFICATIVAFALTA.IDJUSTIFICATIVAFALTA)
                      WHERE (SMATRICULA.CODCOLIGADA = @CODCOLIGADA
                                  AND SMATRICULA.IDTURMADISC = @IDTURMADISC)
                        
                      GROUP BY SMATRICULA.RA, 
                             SMATRICULA.IDTURMADISC,
                             SMATRICULA.IDTURMADISCORIGEM
4922717.125522.60
SELECT SHORARIO.CODCOLIGADA, 
                               SHORARIO.CODHOR, 
                               SHORARIO.CODTURNO,
                               SHORARIO.HORAINICIAL, 
                               SHORARIO.HORAFINAL, 
                               SHORARIO.DIASEMANA,
                                CASE WHEN (SHORARIOTURMA.DATAINICIAL IS NOT NULL)
                                  THEN SHORARIOTURMA.DATAINICIAL
                                  WHEN (STURMADISC.DTINICIAL IS NOT NULL)
                                       THEN STURMADISC.DTINICIAL
                                  WHEN (STURMA.DTINICIAL IS NOT NULL)
                                       THEN STURMA.DTINICIAL
                                  ELSE
                                     SPLETIVO.DTINICIO 
                                END DATAINICIAL,  
                                CASE WHEN (SHORARIOTURMA.DATAFINAL IS NOT NULL)
                                  THEN SHORARIOTURMA.DATAFINAL
                                  WHEN (STURMADISC.DTFINAL IS NOT NULL)
                                       THEN STURMADISC.DTFINAL
                                  WHEN (STURMA.DTFINAL IS NOT NULL)
                                       THEN STURMA.DTFINAL
                                 WHEN (SPLETIVO.DTFIM IS NOT NULL)
                                       THEN SPLETIVO.DTFIM
                                  ELSE
                                     SPLETIVO.DTPREVISTA 
                                END DATAFINAL, 
                                CASE WHEN (SHORARIOTURMA.DATAINICIAL IS NOT NULL)
                                  THEN '0'
                                  WHEN (STURMADISC.DTINICIAL IS NOT NULL)
                                       THEN '4'
                                  WHEN (STURMA.DTINICIAL IS NOT NULL)
                                       THEN '5'
                                  ELSE
                                     '3'
                                END ORIGEMDATAINICIAL,  
                                CASE WHEN (SHORARIOTURMA.DATAFINAL IS NOT NULL)
                                  THEN '0'
                                  WHEN (STURMADISC.DTFINAL IS NOT NULL)
                                       THEN '4'
                                  WHEN (STURMA.DTFINAL IS NOT NULL)
                                       THEN '5'
                                  ELSE
                                     '3'
                                END ORIGEMDATAFINAL,
                                SHORARIOTURMA.IDTURMADISC ID, 
                                SDISCIPLINA.NOME  +  ' ('  +  SDISCIPLINA.CODDISC  +  ')' DESCRICAO, 
                                4 TIPOHORARIO, 
                                3 TIPOCHOQUEHORARIO,
                                STURMADISC.CODTIPOCURSO,
                                STIPOCURSO.NOME AS TIPOCURSO,
                                STURMADISC.CODFILIAL,
                                GFILIAL.NOME AS FILIAL,
                                SHORARIOTURMA.IDHORARIOTURMA,
                                SHORARIOTURMA.CODSUBTURMA,
                                STURMADISC.ESPELHO,
                                SMATRICULA.IDTURMADISCPRINCIPAL,
                                SSTATUS.DIINCALUNODISC,
                                SSTATUS.DIBLQALTSITMATDISCPRT
                              FROM SHORARIOTURMA (NOLOCK) JOIN SHORARIO (NOLOCK)
                                  ON (SHORARIOTURMA.CODCOLIGADA = SHORARIO.CODCOLIGADA AND 
                                      SHORARIOTURMA.CODHOR = SHORARIO.CODHOR)
                                JOIN STURMADISC (NOLOCK)
                                  ON (SHORARIOTURMA.CODCOLIGADA = STURMADISC.CODCOLIGADA AND
                                      SHORARIOTURMA.IDTURMADISC = STURMADISC.IDTURMADISC)
                                JOIN SDISCIPLINA (NOLOCK)
                                  ON (STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA AND
                                      STURMADISC.CODDISC = SDISCIPLINA.CODDISC)
                                JOIN STURMA (NOLOCK)
                                  ON (STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA AND
                                      STURMADISC.CODFILIAL = STURMA.CODFILIAL AND
                                      STURMADISC.CODTURMA = STURMA.CODTURMA AND
                                      STURMADISC.IDPERLET = STURMA.IDPERLET)
                                JOIN SMATRICULA (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA AND
                                      SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC)
                                JOIN SPLETIVO (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND
                                      SMATRICULA.IDPERLET = SPLETIVO.IDPERLET)
                                JOIN SSTATUS (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA AND
                                      SMATRICULA.CODSTATUS   = SSTATUS.CODSTATUS) 
                                JOIN STIPOCURSO (NOLOCK)
                                  ON STURMADISC.CODCOLIGADA = STIPOCURSO.CODCOLIGADA
                                    AND STURMADISC.CODTIPOCURSO = STIPOCURSO.CODTIPOCURSO
                                JOIN GFILIAL (NOLOCK)
                                  ON STURMADISC.CODCOLIGADA = GFILIAL.CODCOLIGADA
                                    AND STURMADISC.CODFILIAL = GFILIAL.CODFILIAL
                                LEFT JOIN SPARAM (NOLOCK) 
                                  ON (STURMA.CODCOLIGADA = SPARAM.CODCOLIGADA AND
                                      STURMA.CODFILIAL = SPARAM.CODFILIAL AND
                                      STURMA.CODTIPOCURSO = SPARAM.CODTIPOCURSO AND
                                      SPARAM.ID = 'UTITURMASUBTURMAIND') 
 WHERE SHORARIOTURMA.CODCOLIGADA = @CODCOLIGADA AND                              
                              SMATRICULA.RA = @RA AND
                              (STURMADISC.ESPELHO = 'N' OR STURMADISC.ESPELHO IS NULL)  AND
                              SPLETIVO.ENCERRADO = 'N' AND
                              STURMADISC.ATIVA = 'S' 
 AND 
          ( ( ( SPARAM.TEXTO = '1'
                  OR SPARAM.TEXTO = 'S' )
               AND ( ( SHORARIOTURMA.CODSUBTURMA IS NULL
                        OR SHORARIOTURMA.CODSUBTURMA = '' )
                      OR SHORARIOTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA ) )
              OR ( ( SPARAM.TEXTO = '0'
                      OR SPARAM.TEXTO = 'N'
                      OR SPARAM.TEXTO IS NULL )
                   AND ( ( ( SHORARIOTURMA.CODSUBTURMA IS NULL
                              OR SHORARIOTURMA.CODSUBTURMA = '' )
                           AND NOT EXISTS (SELECT HORARIOSUBTURMA.CODSUBTURMA
                                           FROM   SHORARIOTURMA HORARIOSUBTURMA (NOLOCK)
                                           WHERE  HORARIOSUBTURMA.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                                                  AND HORARIOSUBTURMA.IDTURMADISC = SHORARIOTURMA.IDTURMADISC
                                                  AND HORARIOSUBTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA) )
                          OR SHORARIOTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA ) ) ) 
 AND STURMADISC.CODTIPOCURSO = @CODTIPOCURSO_N
 AND (SSTATUS.DIINCALUNODISC = 'S' OR SSTATUS.DIEMCURSO = 'S')
 AND (SMATRICULA.IDTURMADISCORIGEM IS NOT NULL
                               OR (SMATRICULA.IDTURMADISCORIGEM IS NULL AND SMATRICULA.IDTURMADISCPRINCIPAL IS NULL 
                                                                        AND NOT EXISTS(SELECT 1 FROM SMATRICULA TAB (NOLOCK)
                                                                                 WHERE TAB.RA = SMATRICULA.RA
                                                                                 AND TAB.IDTURMADISCORIGEM = STURMADISC.IDTURMADISC)))
812555.8931554.18
SELECT SHORARIO.CODCOLIGADA,
                                 SHORARIO.CODHOR,
                                 SHORARIO.DIASEMANA,
                                 SHORARIO.HORAINICIAL,
                                 SHORARIO.HORAFINAL,
                                 STURMADISC.IDTURMADISC,
                                 STURMADISC.CODTURMA,
                                 SDISCIPLINA.NOMEREDUZIDO,
                                 SHORARIOTURMA.IDHORARIOTURMA,
                                 SHORARIOTURMA.DATAINICIAL,
                                 SHORARIOTURMA.DATAFINAL,
                                 SHORARIOTURMA.CODSUBTURMA,
                                 SDISCIPLINA.CODDISC,
                                 SDISCIPLINA.NOME,
                                 SCURSO.NOME                                                     CURSO,
                                 SHABILITACAO.NOME                                               HABILITACAO,
                                 STURMADISC.TIPO,
                                 COALESCE(SHORARIOTURMA.URLAULAONLINE, STURMADISC.URLAULAONLINE) URLAULAONLINE,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOHORARIOTURMA.CODPREDIO, ' - '), PREDIOHORARIOTURMA.NOME)
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOTURMADISC.CODPREDIO, ' - '), PREDIOTURMADISC.NOME)
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOTURMA.CODPREDIO, ' - '), PREDIOTURMA.NOME)
                                         END
                                     END
                                 END                                                             AS NOMEPREDIO,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN
                                     CASE
                                       WHEN BLOCOHORARIOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOHORARIOTURMA.CODBLOCO, ' - '), BLOCOHORARIOTURMA.DESCRICAO)
                                       ELSE BLOCOHORARIOTURMA.CODBLOCO
                                     END
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN
                                         CASE
                                           WHEN BLOCOTURMADISC.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOTURMADISC.CODBLOCO, ' - '), BLOCOTURMADISC.DESCRICAO)
                                           ELSE BLOCOTURMADISC.CODBLOCO
                                         END
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN
                                             CASE
                                               WHEN BLOCOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOTURMA.CODBLOCO, ' - '), BLOCOTURMA.DESCRICAO)
                                               ELSE BLOCOTURMA.CODBLOCO
                                             END
                                         END
                                     END
                                 END                                                             AS NOMEBLOCO,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN
                                     CASE
                                       WHEN SALAHORARIOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALAHORARIOTURMA.CODSALA, ' - '), SALAHORARIOTURMA.DESCRICAO)
                                       ELSE SALAHORARIOTURMA.CODSALA
                                     END
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN
                                         CASE
                                           WHEN SALATURMADISC.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALATURMADISC.CODSALA, ' - '), SALATURMADISC.DESCRICAO)
                                           ELSE SALATURMADISC.CODSALA
                                         END
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN
                                             CASE
                                               WHEN SALATURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALATURMA.CODSALA, ' - '), SALATURMA.DESCRICAO)
                                               ELSE SALATURMA.CODSALA
                                             END
                                         END
                                     END
                                 END                                                             AS NOMESALA
                         FROM   SHORARIOTURMA (NOLOCK)
                                 JOIN STURMADISC (NOLOCK)
                                   ON ( SHORARIOTURMA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                                        AND SHORARIOTURMA.IDTURMADISC = STURMADISC.IDTURMADISC )
                                 JOIN STURMA (NOLOCK)
                                   ON STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA
                                      AND STURMADISC.CODFILIAL = STURMA.CODFILIAL
                                      AND STURMADISC.IDPERLET = STURMA.IDPERLET
                                      AND STURMADISC.CODTURMA = STURMA.CODTURMA
                                 JOIN SHORARIOPROFESSOR (NOLOCK)
                                                     ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIOPROFESSOR.CODCOLIGADA 
                                                          AND SHORARIOTURMA.IDHORARIOTURMA = SHORARIOPROFESSOR.IDHORARIOTURMA )
                                                 JOIN SPROFESSORTURMA (NOLOCK)
                                                   ON  ( SHORARIOPROFESSOR.CODCOLIGADA = SPROFESSORTURMA.CODCOLIGADA 
                                                        AND SHORARIOPROFESSOR.IDPROFESSORTURMA = SPROFESSORTURMA.IDPROFESSORTURMA)
                                 JOIN SHORARIO (NOLOCK)
                                   ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIO.CODCOLIGADA
                                        AND SHORARIOTURMA.CODHOR = SHORARIO.CODHOR )
                                 JOIN SPLETIVO (NOLOCK)
                                   ON ( SPLETIVO.CODCOLIGADA = STURMADISC.CODCOLIGADA
                                        AND SPLETIVO.IDPERLET = STURMADISC.IDPERLET )
                                 JOIN SDISCIPLINA (NOLOCK)
                                   ON ( STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA
                                        AND STURMADISC.CODDISC = SDISCIPLINA.CODDISC )
                                 JOIN SPROFESSOR (NOLOCK)
                                   ON ( SPROFESSORTURMA.CODCOLIGADA = SPROFESSOR.CODCOLIGADA
                                        AND SPROFESSORTURMA.CODPROF = SPROFESSOR.CODPROF )
                                 JOIN PPESSOA (NOLOCK)
                                   ON ( SPROFESSOR.CODPESSOA = PPESSOA.CODIGO )
                                 LEFT JOIN SHABILITACAOFILIAL (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                                           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
                                 LEFT JOIN SHABILITACAO (NOLOCK)
                                        ON SHABILITACAOFILIAL.CODCOLIGADA = SHABILITACAO.CODCOLIGADA
                                           AND SHABILITACAOFILIAL.CODCURSO = SHABILITACAO.CODCURSO
                                           AND SHABILITACAOFILIAL.CODHABILITACAO = SHABILITACAO.CODHABILITACAO
                                 LEFT JOIN SCURSO (NOLOCK)
                                        ON SHABILITACAOFILIAL.CODCOLIGADA = SCURSO.CODCOLIGADA
                                           AND SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO
                                 LEFT JOIN SHORARIOTURMA SHORARIOSUBTUR(NOLOCK)
                                        ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIOSUBTUR.CODCOLIGADA
                                             AND SHORARIOTURMA.IDHORARIOTURMA = SHORARIOSUBTUR.IDHORARIOTURMAVINC )
                                 LEFT JOIN SSALA SALAHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = SALAHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = SALAHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = SALAHORARIOTURMA.CODPREDIO
                                           AND SHORARIOTURMA.CODSALA = SALAHORARIOTURMA.CODSALA
                                           AND SHORARIOTURMA.CODBLOCO = SALAHORARIOTURMA.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = BLOCOHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = BLOCOHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = BLOCOHORARIOTURMA.CODPREDIO
                                           AND SHORARIOTURMA.CODBLOCO = BLOCOHORARIOTURMA.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = PREDIOHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = PREDIOHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = PREDIOHORARIOTURMA.CODPREDIO
                                 LEFT JOIN SSALA SALATURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = SALATURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = SALATURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = SALATURMADISC.CODPREDIO
                                           AND STURMADISC.CODSALA = SALATURMADISC.CODSALA
                                           AND STURMADISC.CODBLOCO = SALATURMADISC.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOTURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = BLOCOTURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = BLOCOTURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = BLOCOTURMADISC.CODPREDIO
                                           AND STURMADISC.CODBLOCO = BLOCOTURMADISC.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOTURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = PREDIOTURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = PREDIOTURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = PREDIOTURMADISC.CODPREDIO
                                 LEFT JOIN SSALA SALATURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = SALATURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = SALATURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = SALATURMA.CODPREDIO
                                           AND STURMA.CODSALA = SALATURMA.CODSALA
                                           AND STURMA.CODBLOCO = SALATURMA.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOTURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = BLOCOTURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = BLOCOTURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = BLOCOTURMA.CODPREDIO
                                           AND STURMA.CODBLOCO = BLOCOTURMA.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOTURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = PREDIOTURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = PREDIOTURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = PREDIOTURMA.CODPREDIO
                          WHERE  SPLETIVO.ENCERRADO = 'N'
                                 AND SPLETIVO.EXIBIRPORTAL = 'S'
                                 AND STURMADISC.ATIVA = 'S'
                                 AND SPROFESSORTURMA.CODCOLIGADA = @CODCOLIGADA
                                 AND PPESSOA.CODUSUARIO = @CODUSUARIO
                                      AND STURMADISC.CODFILIAL = 934 AND STURMADISC.CODTIPOCURSO  = 1 
                                     /*AND*/ 
                                      AND ((STURMADISC.GERENCIAL = 'S') OR 
                                                                                    (STURMADISC.IDTURMADISC NOT IN 
                                                                       (SELECT IDTURMADISCGERENCIADA 
                                                                                                        FROM STURMADISCGERENCIADA (NOLOCK)
                                                                                                        WHERE CODCOLIGADA = 3)))ORDER BY SHORARIO.HORAINICIAL,
                                  SHORARIO.HORAFINAL,
                                  SHORARIO.DIASEMANA,
                                  SHORARIOTURMA.CODSUBTURMA,
                                  SHORARIOTURMA.DATAINICIAL
30141965.35652.07
SELECT DISTINCT 
                             SALUNO.RA,
                             SALUNO.CODCOLIGADA,
                             NULL                                     CODFILIAL,
                                           NULL                                     CODTIPOCURSO,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)   NOMEALUNO,
                             PPESSOA.DTNASCIMENTO                     DTNASCIMENTOALUNO,
                             PPESSOA.CODUSUARIO                       CODUSUARIOALUNO,
                             PPESSOA.CODIGO                           CODPESSOAUSUARIO,
                             NULL                                     CODUSUARIOPAI,
                             NULL                                     NOMEPAI,
                             NULL                                     CODUSUARIOMAE,
                             NULL                                     NOMEMAE,
                             NULL                                     CODUSUARIORACA,
                             NULL                                     NOMERACA,
                             NULL                                     CODUSUARIORESPFINANCEIRO,
                             NULL                                     NOMERESPFINANCEIRO,
                             NULL                                     CODCOLIGADACFO,
                             NULL                                     CODCFO,
                             NULL                                     CODUSUARIORESPCONTRATO,
                             NULL                                     NOMERESPCONTRATO,
                             NULL                                     CODUSUARIORESPPARCELA,
                             NULL                                     NOMERESPPARCELA,
                             NULL                                     ACESSOACADEMICOSCFO,
                             'S'        DADOSACADEMICOS,
                             'S'        DADOSFINANCEIROS,
                             NULL                                     IDIMAGEMPAI,
                             NULL                                     IDIMAGEMMAE,
                             NULL                                     IDIMAGEMACAD,
                             NULL                                     IDIMAGEMFIN,
                             NULL                                     IDIMAGEMCONT,
                             PPESSOA.IDIMAGEM                         IDIMAGEM,
                             SALUNO.CODCOLCFO CODCOLCFOALUNO,
                             SALUNO.CODCFO CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                                           LEFT JOIN SMATRICPL (NOLOCK)
                                               ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND 
                                                  SMATRICPL.RA = SALUNO.RA
                      WHERE  (PPESSOA.CODUSUARIO = @CODUSUARIO) /*AND*/

                      UNION
                      SELECT DISTINCT SALUNO.RA,
                             SALUNO.CODCOLIGADA,
                             NULL                                             CODFILIAL,
                                           NULL                                             CODTIPOCURSO,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)           NOMEALUNO,
                             PPESSOA.DTNASCIMENTO                             DTNASCIMENTOALUNO,
                             PPESSOA.CODUSUARIO                               CODUSUARIOALUNO,
                             PPESSOARACA.CODIGO                               CODPESSOAUSUARIO,
                             NULL                                             CODUSUARIOPAI,
                             NULL                                             NOMEPAI,
                             NULL                                             CODUSUARIOMAE,
                             NULL                                             NOMEMAE,
                             PPESSOARACA.CODUSUARIO                           CODUSUARIORACA,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOARACA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOARACA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOARACA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOARACA.NOMESOCIAL))
                  END)   NOMERACA,
                             NULL                                             CODUSUARIORESPFINANCEIRO,
                             NULL                                             NOMERESPFINANCEIRO,
                             NULL                                             CODCOLIGADACFO,
                             NULL                                             CODCFO,
                             NULL                                             CODUSUARIORESPCONTRATO,
                             NULL                                             NOMERESPCONTRATO,
                             NULL                                             CODUSUARIORESPPARCELA,
                             NULL                                             NOMERESPPARCELA,
                             NULL                                             ACESSOACADEMICOSCFO,
                             'S'                DADOSACADEMICOS,
                             CASE
                                WHEN SCONTRATOACESSOS.CODPESSOA IS NOT NULL THEN 'S'
                                ELSE 'N'
                             END DADOSFINANCEIROS,                             
                             NULL                                             IDIMAGEMPAI,
                             NULL                                             IDIMAGEMMAE,
                             PPESSOARACA.IDIMAGEM                             IDIMAGEMACAD,
                             NULL                                             IDIMAGEMFIN,
                             NULL                                             IDIMAGEMCONT,
                             PPESSOA.IDIMAGEM                                 IDIMAGEM,
                             SALUNO.CODCOLCFO                                 CODCOLCFOALUNO,
                             SALUNO.CODCFO                                    CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             LEFT JOIN PPESSOA PPESSOARACA (NOLOCK)
                                    ON (SALUNO.CODPESSOARACA = PPESSOARACA.CODIGO)
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                             LEFT JOIN SCONTRATOACESSOS (NOLOCK)
                               ON SALUNO.RA = SCONTRATOACESSOS.RA AND
                                  SALUNO.CODPESSOARACA = SCONTRATOACESSOS.CODPESSOA AND                                   
                                  SCONTRATOACESSOS.TIPORELACIONAMENTO = 'A'                                                     
                                           LEFT JOIN SMATRICPL (NOLOCK)
                                               ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND 
                                                  SMATRICPL.RA = SALUNO.RA
                      WHERE  (PPESSOARACA.CODUSUARIO = @CODUSUARIO
                               AND (PPESSOARACA.CODIGO <> PPESSOA.CODIGO
                                      OR PPESSOARACA.CODIGO IS NULL)) /*AND*/

                      UNION
                      SELECT DISTINCT SALUNO.RA,
                                      SALUNO.CODCOLIGADA                        CODCOLIGADA,
                                      NULL                                      CODFILIAL,
                                      NULL                                      CODTIPOCURSO,
                                       (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)    NOMEALUNO,
                                      PPESSOA.DTNASCIMENTO                      DTNASCIMENTOALUNO,
                                      PPESSOA.CODUSUARIO                        CODUSUARIOALUNO,
                                      PPESSOAFILIACAO.CODIGO                    CODPESSOAUSUARIO,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'P' THEN PPESSOAFILIACAO.CODUSUARIO
                                        ELSE NULL
                                      END                    CODUSUARIOPAI,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'P' THEN  (CASE
                     WHEN (RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOAFILIACAO.NOME))
                     ELSE RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL))
                  END) 
                                        ELSE NULL
                                      END                    NOMEPAI,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'M' THEN PPESSOAFILIACAO.CODUSUARIO
                                        ELSE NULL
                                      END                    CODUSUARIOMAE,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'M' THEN  (CASE
                     WHEN (RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOAFILIACAO.NOME))
                     ELSE RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL))
                  END) 
                                        ELSE NULL
                                      END                    NOMEMAE,
                                      NULL                   CODUSUARIORACA,
                                      NULL                   NOMERACA,
                                      NULL                   CODUSUARIORESPFINANCEIRO,
                                      NULL                   NOMERESPFINANCEIRO,
                                      NULL                   CODCOLIGADACFO,
                                      NULL                   CODCFO,
                                      NULL                   CODUSUARIORESPCONTRATO,
                                      NULL                   NOMERESPCONTRATO,
                                      NULL                   CODUSUARIORESPPARCELA,
                                      NULL                   NOMERESPPARCELA,
                                      NULL                   ACESSOACADEMICOSCFO,
                                      COALESCE((SFILIACAO.DADOSACADEMICOS), 'N')  DADOSACADEMICOS,
                                      CASE
                                          WHEN SCONTRATOACESSOS.CODPESSOA IS NOT NULL THEN 'S'
                                          ELSE 'N'
                                      END DADOSFINANCEIROS,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'P' THEN PPESSOAFILIACAO.IDIMAGEM
                                        ELSE NULL
                                      END                    IDIMAGEMPAI,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'M' THEN PPESSOAFILIACAO.IDIMAGEM
                                        ELSE NULL
                                      END                    IDIMAGEMMAE,
                                      NULL                   IDIMAGEMACAD,
                                      NULL                   IDIMAGEMFIN,
                                      NULL                   IDIMAGEMCONT,
                                      PPESSOA.IDIMAGEM       IDIMAGEM,
                                      SALUNO.CODCOLCFO CODCOLCFOALUNO,
                                      SALUNO.CODCFO CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                             LEFT JOIN VFILIACAO (NOLOCK)
                                       LEFT JOIN PPESSOA PPESSOAFILIACAO (NOLOCK)
                                              ON PPESSOAFILIACAO.CODIGO = VFILIACAO.CODPESSOAFILIACAO
                                                 AND VFILIACAO.TIPORELACIONAMENTO IN ('P', 'M')
                                    ON VFILIACAO.CODPESSOAFILHO = SALUNO.CODPESSOA
                             LEFT JOIN SFILIACAO (NOLOCK)
                                    ON SFILIACAO.CODFILIACAO = VFILIACAO.CODFILIACAO                             
                             LEFT JOIN SCONTRATOACESSOS (NOLOCK)
                                    ON SCONTRATOACESSOS.RA = SALUNO.RA AND
                                       SCONTRATOACESSOS.CODPESSOA = VFILIACAO.CODPESSOAFILIACAO AND                                       
                                       SCONTRATOACESSOS.TIPORELACIONAMENTO IN ('P', 'M')                             
                      WHERE  (PPESSOAFILIACAO.CODUSUARIO = @CODUSUARIO) /*AND*/

                      UNION
                      SELECT DISTINCT SALUNO.RA,
                             SALUNO.CODCOLIGADA                         CODCOLIGADA,
                             NULL                                       CODFILIAL,
                             NULL                                       CODTIPOCURSO,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)     NOMEALUNO,
                             PPESSOA.DTNASCIMENTO                       DTNASCIMENTOALUNO,
                             PPESSOA.CODUSUARIO                         CODUSUARIOALUNO,
                             NULL                                       CODPESSOAUSUARIO,
                             NULL                                       CODUSUARIOPAI,
                             NULL                                       NOMEPAI,
                             NULL                                       CODUSUARIOMAE,
                             NULL                                       NOMEMAE,
                             NULL                                       CODUSUARIORACA,
                             NULL                                       NOMERACA,
                             FCFOALUNO.CODUSUARIOACESSO                 CODUSUARIORESPFINANCEIRO,
                             FCFOALUNO.NOMEFANTASIA                     NOMERESPFINANCEIRO,
                             FCFOALUNO.CODCOLIGADA                      CODCOLIGADACFO,
                             FCFOALUNO.CODCFO                           CODCFO,
                             NULL                                       CODUSUARIORESPCONTRATO,
                             NULL                                       NOMERESPCONTRATO,
                             NULL                                       CODUSUARIORESPPARCELA,
                             NULL                                       NOMERESPPARCELA,
                             SALUNO.DADOSACADEMICOSCFO                  ACESSOACADEMICOSCFO,
                             'N'          DADOSACADEMICOS,
                             CASE
                                WHEN SCONTRATOACESSOS.CODCFO IS NOT NULL THEN 'S'
                                ELSE 'N'
                             END DADOSFINANCEIROS,
                             NULL                                       IDIMAGEMPAI,
                             NULL                                       IDIMAGEMMAE,
                             NULL                                       IDIMAGEMACAD,
                             NULL                                       IDIMAGEMFIN,
                             NULL                                       IDIMAGEMCONT,
                             PPESSOA.IDIMAGEM                           IDIMAGEM,
                             SALUNO.CODCOLCFO                           CODCOLCFOALUNO,
                             SALUNO.CODCFO                              CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             JOIN SPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = SPESSOA.CODIGO
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                             LEFT JOIN FCFO FCFOALUNO (NOLOCK)
                                    ON SALUNO.CODCOLCFO = FCFOALUNO.CODCOLIGADA
                                       AND SALUNO.CODCFO = FCFOALUNO.CODCFO
                             LEFT JOIN SCONTRATOACESSOS (NOLOCK)
                                    ON SCONTRATOACESSOS.RA = SALUNO.RA AND
                                       SCONTRATOACESSOS.CODCOLCFO = FCFOALUNO.CODCOLIGADA AND
                                       SCONTRATOACESSOS.CODCFO = FCFOALUNO.CODCFO AND
                                       SCONTRATOACESSOS.TIPORELACIONAMENTO = 'F'
                                           LEFT JOIN SMATRICPL (NOLOCK)
                                               ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND 
                                                  SMATRICPL.RA = SALUNO.RA
                      WHERE  (FCFOALUNO.CODUSUARIOACESSO = @CODUSUARIO
                              AND (FCFOALUNO.CODUSUARIOACESSO <> PPESSOA.CODUSUARIO
                                    OR PPESSOA.CODUSUARIO IS NULL))
661170.6217736.60
SELECT SHORARIO.CODCOLIGADA, 
                               SHORARIO.CODHOR, 
                               SHORARIO.CODTURNO,
                               SHORARIO.HORAINICIAL, 
                               SHORARIO.HORAFINAL, 
                               SHORARIO.DIASEMANA,
                                CASE WHEN (SHORARIOTURMA.DATAINICIAL IS NOT NULL)
                                  THEN SHORARIOTURMA.DATAINICIAL
                                  WHEN (STURMADISC.DTINICIAL IS NOT NULL)
                                       THEN STURMADISC.DTINICIAL
                                  WHEN (STURMA.DTINICIAL IS NOT NULL)
                                       THEN STURMA.DTINICIAL
                                  ELSE
                                     SPLETIVO.DTINICIO 
                                END DATAINICIAL,  
                                CASE WHEN (SHORARIOTURMA.DATAFINAL IS NOT NULL)
                                  THEN SHORARIOTURMA.DATAFINAL
                                  WHEN (STURMADISC.DTFINAL IS NOT NULL)
                                       THEN STURMADISC.DTFINAL
                                  WHEN (STURMA.DTFINAL IS NOT NULL)
                                       THEN STURMA.DTFINAL
                                 WHEN (SPLETIVO.DTFIM IS NOT NULL)
                                       THEN SPLETIVO.DTFIM
                                  ELSE
                                     SPLETIVO.DTPREVISTA 
                                END DATAFINAL, 
                                CASE WHEN (SHORARIOTURMA.DATAINICIAL IS NOT NULL)
                                  THEN '0'
                                  WHEN (STURMADISC.DTINICIAL IS NOT NULL)
                                       THEN '4'
                                  WHEN (STURMA.DTINICIAL IS NOT NULL)
                                       THEN '5'
                                  ELSE
                                     '3'
                                END ORIGEMDATAINICIAL,  
                                CASE WHEN (SHORARIOTURMA.DATAFINAL IS NOT NULL)
                                  THEN '0'
                                  WHEN (STURMADISC.DTFINAL IS NOT NULL)
                                       THEN '4'
                                  WHEN (STURMA.DTFINAL IS NOT NULL)
                                       THEN '5'
                                  ELSE
                                     '3'
                                END ORIGEMDATAFINAL,
                                SHORARIOTURMA.IDTURMADISC ID, 
                                SDISCIPLINA.NOME  +  ' ('  +  SDISCIPLINA.CODDISC  +  ')' DESCRICAO, 
                                4 TIPOHORARIO, 
                                3 TIPOCHOQUEHORARIO,
                                STURMADISC.CODTIPOCURSO,
                                STIPOCURSO.NOME AS TIPOCURSO,
                                STURMADISC.CODFILIAL,
                                GFILIAL.NOME AS FILIAL,
                                SHORARIOTURMA.IDHORARIOTURMA,
                                SHORARIOTURMA.CODSUBTURMA,
                                STURMADISC.ESPELHO,
                                SMATRICULA.IDTURMADISCPRINCIPAL,
                                SSTATUS.DIINCALUNODISC,
                                SSTATUS.DIBLQALTSITMATDISCPRT
                              FROM SHORARIOTURMA (NOLOCK) JOIN SHORARIO (NOLOCK)
                                  ON (SHORARIOTURMA.CODCOLIGADA = SHORARIO.CODCOLIGADA AND 
                                      SHORARIOTURMA.CODHOR = SHORARIO.CODHOR)
                                JOIN STURMADISC (NOLOCK)
                                  ON (SHORARIOTURMA.CODCOLIGADA = STURMADISC.CODCOLIGADA AND
                                      SHORARIOTURMA.IDTURMADISC = STURMADISC.IDTURMADISC)
                                JOIN SDISCIPLINA (NOLOCK)
                                  ON (STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA AND
                                      STURMADISC.CODDISC = SDISCIPLINA.CODDISC)
                                JOIN STURMA (NOLOCK)
                                  ON (STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA AND
                                      STURMADISC.CODFILIAL = STURMA.CODFILIAL AND
                                      STURMADISC.CODTURMA = STURMA.CODTURMA AND
                                      STURMADISC.IDPERLET = STURMA.IDPERLET)
                                JOIN SMATRICULA (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA AND
                                      SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC)
                                JOIN SPLETIVO (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND
                                      SMATRICULA.IDPERLET = SPLETIVO.IDPERLET)
                                JOIN SSTATUS (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA AND
                                      SMATRICULA.CODSTATUS   = SSTATUS.CODSTATUS) 
                                JOIN STIPOCURSO (NOLOCK)
                                  ON STURMADISC.CODCOLIGADA = STIPOCURSO.CODCOLIGADA
                                    AND STURMADISC.CODTIPOCURSO = STIPOCURSO.CODTIPOCURSO
                                JOIN GFILIAL (NOLOCK)
                                  ON STURMADISC.CODCOLIGADA = GFILIAL.CODCOLIGADA
                                    AND STURMADISC.CODFILIAL = GFILIAL.CODFILIAL
                                LEFT JOIN SPARAM (NOLOCK) 
                                  ON (STURMA.CODCOLIGADA = SPARAM.CODCOLIGADA AND
                                      STURMA.CODFILIAL = SPARAM.CODFILIAL AND
                                      STURMA.CODTIPOCURSO = SPARAM.CODTIPOCURSO AND
                                      SPARAM.ID = 'UTITURMASUBTURMAIND') 
 WHERE SHORARIOTURMA.CODCOLIGADA = @CODCOLIGADA AND                              
                              SMATRICULA.RA = @RA AND
                              (STURMADISC.ESPELHO = 'N' OR STURMADISC.ESPELHO IS NULL)  AND
                              SPLETIVO.ENCERRADO = 'N' AND
                              STURMADISC.ATIVA = 'S' 
 AND 
          ( ( ( SPARAM.TEXTO = '1'
                  OR SPARAM.TEXTO = 'S' )
               AND ( ( SHORARIOTURMA.CODSUBTURMA IS NULL
                        OR SHORARIOTURMA.CODSUBTURMA = '' )
                      OR SHORARIOTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA ) )
              OR ( ( SPARAM.TEXTO = '0'
                      OR SPARAM.TEXTO = 'N'
                      OR SPARAM.TEXTO IS NULL )
                   AND ( ( ( SHORARIOTURMA.CODSUBTURMA IS NULL
                              OR SHORARIOTURMA.CODSUBTURMA = '' )
                           AND NOT EXISTS (SELECT HORARIOSUBTURMA.CODSUBTURMA
                                           FROM   SHORARIOTURMA HORARIOSUBTURMA (NOLOCK)
                                           WHERE  HORARIOSUBTURMA.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                                                  AND HORARIOSUBTURMA.IDTURMADISC = SHORARIOTURMA.IDTURMADISC
                                                  AND HORARIOSUBTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA) )
                          OR SHORARIOTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA ) ) ) 
 AND STURMADISC.CODTIPOCURSO = @CODTIPOCURSO_N
 AND (SSTATUS.DIINCALUNODISC = 'S' OR SSTATUS.DIEMCURSO = 'S')
 AND (SMATRICULA.IDTURMADISCORIGEM IS NOT NULL
                               OR (SMATRICULA.IDTURMADISCORIGEM IS NULL AND SMATRICULA.IDTURMADISCPRINCIPAL IS NULL 
                                                                        AND NOT EXISTS(SELECT 1 FROM SMATRICULA TAB (NOLOCK)
                                                                                 WHERE TAB.RA = SMATRICULA.RA
                                                                                 AND TAB.IDTURMADISCORIGEM = STURMADISC.IDTURMADISC)))
2862624.91218.35
SELECT U.CODCOLIGADA, U.CODUSUARIO, U.CODSISTEMA, U.CODPERFIL, U.INDICE, U.CONTROLE
                             FROM GUSRPERFIL U (NOLOCK), GPERFIL P (NOLOCK)
                             WHERE P.CODSISTEMA = U.CODSISTEMA
                               AND P.CODPERFIL = U.CODPERFIL                               
                               AND U.CODUSUARIO = @USUARIO
                               AND P.STATUS = 1 AND U.CODCOLIGADA = @COLIGADA
918589.20641.83
SELECT DISTINCT 
                             SALUNO.RA,
                             SALUNO.CODCOLIGADA,
                             NULL                                     CODFILIAL,
                                           NULL                                     CODTIPOCURSO,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)   NOMEALUNO,
                             PPESSOA.DTNASCIMENTO                     DTNASCIMENTOALUNO,
                             PPESSOA.CODUSUARIO                       CODUSUARIOALUNO,
                             PPESSOA.CODIGO                           CODPESSOAUSUARIO,
                             NULL                                     CODUSUARIOPAI,
                             NULL                                     NOMEPAI,
                             NULL                                     CODUSUARIOMAE,
                             NULL                                     NOMEMAE,
                             NULL                                     CODUSUARIORACA,
                             NULL                                     NOMERACA,
                             NULL                                     CODUSUARIORESPFINANCEIRO,
                             NULL                                     NOMERESPFINANCEIRO,
                             NULL                                     CODCOLIGADACFO,
                             NULL                                     CODCFO,
                             NULL                                     CODUSUARIORESPCONTRATO,
                             NULL                                     NOMERESPCONTRATO,
                             NULL                                     CODUSUARIORESPPARCELA,
                             NULL                                     NOMERESPPARCELA,
                             NULL                                     ACESSOACADEMICOSCFO,
                             'S'        DADOSACADEMICOS,
                             'S'        DADOSFINANCEIROS,
                             NULL                                     IDIMAGEMPAI,
                             NULL                                     IDIMAGEMMAE,
                             NULL                                     IDIMAGEMACAD,
                             NULL                                     IDIMAGEMFIN,
                             NULL                                     IDIMAGEMCONT,
                             PPESSOA.IDIMAGEM                         IDIMAGEM,
                             SALUNO.CODCOLCFO CODCOLCFOALUNO,
                             SALUNO.CODCFO CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                                           LEFT JOIN SMATRICPL (NOLOCK)
                                               ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND 
                                                  SMATRICPL.RA = SALUNO.RA
                      WHERE  (PPESSOA.CODUSUARIO = @CODUSUARIO) /*AND*/

                      UNION
                      SELECT DISTINCT SALUNO.RA,
                             SALUNO.CODCOLIGADA,
                             NULL                                             CODFILIAL,
                                           NULL                                             CODTIPOCURSO,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)           NOMEALUNO,
                             PPESSOA.DTNASCIMENTO                             DTNASCIMENTOALUNO,
                             PPESSOA.CODUSUARIO                               CODUSUARIOALUNO,
                             PPESSOARACA.CODIGO                               CODPESSOAUSUARIO,
                             NULL                                             CODUSUARIOPAI,
                             NULL                                             NOMEPAI,
                             NULL                                             CODUSUARIOMAE,
                             NULL                                             NOMEMAE,
                             PPESSOARACA.CODUSUARIO                           CODUSUARIORACA,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOARACA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOARACA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOARACA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOARACA.NOMESOCIAL))
                  END)   NOMERACA,
                             NULL                                             CODUSUARIORESPFINANCEIRO,
                             NULL                                             NOMERESPFINANCEIRO,
                             NULL                                             CODCOLIGADACFO,
                             NULL                                             CODCFO,
                             NULL                                             CODUSUARIORESPCONTRATO,
                             NULL                                             NOMERESPCONTRATO,
                             NULL                                             CODUSUARIORESPPARCELA,
                             NULL                                             NOMERESPPARCELA,
                             NULL                                             ACESSOACADEMICOSCFO,
                             'S'                DADOSACADEMICOS,
                             CASE
                                WHEN SCONTRATOACESSOS.CODPESSOA IS NOT NULL THEN 'S'
                                ELSE 'N'
                             END DADOSFINANCEIROS,                             
                             NULL                                             IDIMAGEMPAI,
                             NULL                                             IDIMAGEMMAE,
                             PPESSOARACA.IDIMAGEM                             IDIMAGEMACAD,
                             NULL                                             IDIMAGEMFIN,
                             NULL                                             IDIMAGEMCONT,
                             PPESSOA.IDIMAGEM                                 IDIMAGEM,
                             SALUNO.CODCOLCFO                                 CODCOLCFOALUNO,
                             SALUNO.CODCFO                                    CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             LEFT JOIN PPESSOA PPESSOARACA (NOLOCK)
                                    ON (SALUNO.CODPESSOARACA = PPESSOARACA.CODIGO)
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                             LEFT JOIN SCONTRATOACESSOS (NOLOCK)
                               ON SALUNO.RA = SCONTRATOACESSOS.RA AND
                                  SALUNO.CODPESSOARACA = SCONTRATOACESSOS.CODPESSOA AND                                   
                                  SCONTRATOACESSOS.TIPORELACIONAMENTO = 'A'                                                     
                                           LEFT JOIN SMATRICPL (NOLOCK)
                                               ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND 
                                                  SMATRICPL.RA = SALUNO.RA
                      WHERE  (PPESSOARACA.CODUSUARIO = @CODUSUARIO
                               AND (PPESSOARACA.CODIGO <> PPESSOA.CODIGO
                                      OR PPESSOARACA.CODIGO IS NULL)) /*AND*/

                      UNION
                      SELECT DISTINCT SALUNO.RA,
                                      SALUNO.CODCOLIGADA                        CODCOLIGADA,
                                      NULL                                      CODFILIAL,
                                      NULL                                      CODTIPOCURSO,
                                       (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)    NOMEALUNO,
                                      PPESSOA.DTNASCIMENTO                      DTNASCIMENTOALUNO,
                                      PPESSOA.CODUSUARIO                        CODUSUARIOALUNO,
                                      PPESSOAFILIACAO.CODIGO                    CODPESSOAUSUARIO,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'P' THEN PPESSOAFILIACAO.CODUSUARIO
                                        ELSE NULL
                                      END                    CODUSUARIOPAI,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'P' THEN  (CASE
                     WHEN (RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOAFILIACAO.NOME))
                     ELSE RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL))
                  END) 
                                        ELSE NULL
                                      END                    NOMEPAI,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'M' THEN PPESSOAFILIACAO.CODUSUARIO
                                        ELSE NULL
                                      END                    CODUSUARIOMAE,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'M' THEN  (CASE
                     WHEN (RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOAFILIACAO.NOME))
                     ELSE RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL))
                  END) 
                                        ELSE NULL
                                      END                    NOMEMAE,
                                      NULL                   CODUSUARIORACA,
                                      NULL                   NOMERACA,
                                      NULL                   CODUSUARIORESPFINANCEIRO,
                                      NULL                   NOMERESPFINANCEIRO,
                                      NULL                   CODCOLIGADACFO,
                                      NULL                   CODCFO,
                                      NULL                   CODUSUARIORESPCONTRATO,
                                      NULL                   NOMERESPCONTRATO,
                                      NULL                   CODUSUARIORESPPARCELA,
                                      NULL                   NOMERESPPARCELA,
                                      NULL                   ACESSOACADEMICOSCFO,
                                      COALESCE((SFILIACAO.DADOSACADEMICOS), 'N')  DADOSACADEMICOS,
                                      CASE
                                          WHEN SCONTRATOACESSOS.CODPESSOA IS NOT NULL THEN 'S'
                                          ELSE 'N'
                                      END DADOSFINANCEIROS,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'P' THEN PPESSOAFILIACAO.IDIMAGEM
                                        ELSE NULL
                                      END                    IDIMAGEMPAI,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'M' THEN PPESSOAFILIACAO.IDIMAGEM
                                        ELSE NULL
                                      END                    IDIMAGEMMAE,
                                      NULL                   IDIMAGEMACAD,
                                      NULL                   IDIMAGEMFIN,
                                      NULL                   IDIMAGEMCONT,
                                      PPESSOA.IDIMAGEM       IDIMAGEM,
                                      SALUNO.CODCOLCFO CODCOLCFOALUNO,
                                      SALUNO.CODCFO CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                             LEFT JOIN VFILIACAO (NOLOCK)
                                       LEFT JOIN PPESSOA PPESSOAFILIACAO (NOLOCK)
                                              ON PPESSOAFILIACAO.CODIGO = VFILIACAO.CODPESSOAFILIACAO
                                                 AND VFILIACAO.TIPORELACIONAMENTO IN ('P', 'M')
                                    ON VFILIACAO.CODPESSOAFILHO = SALUNO.CODPESSOA
                             LEFT JOIN SFILIACAO (NOLOCK)
                                    ON SFILIACAO.CODFILIACAO = VFILIACAO.CODFILIACAO                             
                             LEFT JOIN SCONTRATOACESSOS (NOLOCK)
                                    ON SCONTRATOACESSOS.RA = SALUNO.RA AND
                                       SCONTRATOACESSOS.CODPESSOA = VFILIACAO.CODPESSOAFILIACAO AND                                       
                                       SCONTRATOACESSOS.TIPORELACIONAMENTO IN ('P', 'M')                             
                      WHERE  (PPESSOAFILIACAO.CODUSUARIO = @CODUSUARIO) /*AND*/

                      UNION
                      SELECT DISTINCT SALUNO.RA,
                             SALUNO.CODCOLIGADA                         CODCOLIGADA,
                             NULL                                       CODFILIAL,
                             NULL                                       CODTIPOCURSO,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)     NOMEALUNO,
                             PPESSOA.DTNASCIMENTO                       DTNASCIMENTOALUNO,
                             PPESSOA.CODUSUARIO                         CODUSUARIOALUNO,
                             NULL                                       CODPESSOAUSUARIO,
                             NULL                                       CODUSUARIOPAI,
                             NULL                                       NOMEPAI,
                             NULL                                       CODUSUARIOMAE,
                             NULL                                       NOMEMAE,
                             NULL                                       CODUSUARIORACA,
                             NULL                                       NOMERACA,
                             FCFOALUNO.CODUSUARIOACESSO                 CODUSUARIORESPFINANCEIRO,
                             FCFOALUNO.NOMEFANTASIA                     NOMERESPFINANCEIRO,
                             FCFOALUNO.CODCOLIGADA                      CODCOLIGADACFO,
                             FCFOALUNO.CODCFO                           CODCFO,
                             NULL                                       CODUSUARIORESPCONTRATO,
                             NULL                                       NOMERESPCONTRATO,
                             NULL                                       CODUSUARIORESPPARCELA,
                             NULL                                       NOMERESPPARCELA,
                             SALUNO.DADOSACADEMICOSCFO                  ACESSOACADEMICOSCFO,
                             'N'          DADOSACADEMICOS,
                             CASE
                                WHEN SCONTRATOACESSOS.CODCFO IS NOT NULL THEN 'S'
                                ELSE 'N'
                             END DADOSFINANCEIROS,
                             NULL                                       IDIMAGEMPAI,
                             NULL                                       IDIMAGEMMAE,
                             NULL                                       IDIMAGEMACAD,
                             NULL                                       IDIMAGEMFIN,
                             NULL                                       IDIMAGEMCONT,
                             PPESSOA.IDIMAGEM                           IDIMAGEM,
                             SALUNO.CODCOLCFO                           CODCOLCFOALUNO,
                             SALUNO.CODCFO                              CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             JOIN SPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = SPESSOA.CODIGO
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                             LEFT JOIN FCFO FCFOALUNO (NOLOCK)
                                    ON SALUNO.CODCOLCFO = FCFOALUNO.CODCOLIGADA
                                       AND SALUNO.CODCFO = FCFOALUNO.CODCFO
                             LEFT JOIN SCONTRATOACESSOS (NOLOCK)
                                    ON SCONTRATOACESSOS.RA = SALUNO.RA AND
                                       SCONTRATOACESSOS.CODCOLCFO = FCFOALUNO.CODCOLIGADA AND
                                       SCONTRATOACESSOS.CODCFO = FCFOALUNO.CODCFO AND
                                       SCONTRATOACESSOS.TIPORELACIONAMENTO = 'F'
                                           LEFT JOIN SMATRICPL (NOLOCK)
                                               ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND 
                                                  SMATRICPL.RA = SALUNO.RA
                      WHERE  (FCFOALUNO.CODUSUARIOACESSO = @CODUSUARIO
                              AND (FCFOALUNO.CODUSUARIOACESSO <> PPESSOA.CODUSUARIO
                                    OR PPESSOA.CODUSUARIO IS NULL))
33545.8616541.07
SELECT DISTINCT 
GFILIAL.NOME AS ESCOLA,
SMATRICULA.RA,
PPESSOA.NOME AS ALUNO,
SSTATUS.DESCRICAO AS STATUS,
SPLETIVO.CODPERLET AS PERIODO_LETIVO,
SCURSO.NOME AS CURSO,
SHABILITACAO.NOME AS SERIE,
STURMADISC.CODTURMA AS TURMA,
CONVERT (INT, SGRADE.CARGAHORARIA)AS CH_TOTAL,
ANO.ANO,
ISNULL(JAN1.QT_AULAS,0) AS QT_AULAS_JAN,
ISNULL(JAN.AUSENCIA,0) AS AUSENCIA_JAN,
CASE WHEN ISNULL(JAN1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(JAN.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(JAN.AUSENCIA,0) * 100) / ISNULL(JAN1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_JAN,

ISNULL(FEV1.QT_AULAS,0) AS QT_AULAS_FEV,
ISNULL(FEV.AUSENCIA,0) AS AUSENCIA_FEV,
CASE WHEN ISNULL(FEV1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(FEV.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(FEV.AUSENCIA,0) * 100) / ISNULL(FEV1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_FEV,


ISNULL(MAR1.QT_AULAS,0) AS QT_AULAS_MAR,
ISNULL(MAR.AUSENCIA,0) AS AUSENCIA_MAR,
CASE WHEN ISNULL(MAR1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(MAR.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(MAR.AUSENCIA,0) * 100) / ISNULL(MAR1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_MAR,

ISNULL(ABR1.QT_AULAS,0) AS QT_AULAS_ABR,
ISNULL(ABR.AUSENCIA,0) AS AUSENCIA_ABR,
CASE WHEN ISNULL(ABR1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(ABR.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(ABR.AUSENCIA,0) * 100) / ISNULL(ABR1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_ABR,

ISNULL(MAI1.QT_AULAS,0) AS QT_AULAS_MAI,
ISNULL(MAI.AUSENCIA,0) AS AUSENCIA_MAI,
CASE WHEN ISNULL(MAI1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(MAI.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(MAI.AUSENCIA,0) * 100) / ISNULL(MAI1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_MAI,

ISNULL(JUN1.QT_AULAS,0) AS QT_AULAS_JUN,
ISNULL(JUN.AUSENCIA,0) AS AUSENCIA_JUN,
CASE WHEN ISNULL(JUN1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(JUN.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(JUN.AUSENCIA,0) * 100) / ISNULL(JUN1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_JUN,

ISNULL(JUL1.QT_AULAS,0) AS QT_AULAS_JUL,
ISNULL(JUL.AUSENCIA,0) AS AUSENCIA_JUL,
CASE WHEN ISNULL(JUL1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(JUL.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(JUL.AUSENCIA,0) * 100) / ISNULL(JUL1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_JUL,

ISNULL(AGO1.QT_AULAS,0) AS QT_AULAS_AGO,
ISNULL(AGO.AUSENCIA,0) AS AUSENCIA_AGO,
CASE WHEN ISNULL(AGO1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(AGO.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(AGO.AUSENCIA,0) * 100) / ISNULL(AGO1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_AGO,

ISNULL(SETE1.QT_AULAS,0) AS QT_AULAS_SETE,
ISNULL(SETE.AUSENCIA,0) AS AUSENCIA_SETE,
CASE WHEN ISNULL(SETE1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(SETE.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(SETE.AUSENCIA,0) * 100) / ISNULL(SETE1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_SETE,

ISNULL(OUTU1.QT_AULAS,0) AS QT_AULAS_OUTU,
ISNULL(OUTU.AUSENCIA,0) AS AUSENCIA_OUTU,
CASE WHEN ISNULL(OUTU1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(OUTU.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(OUTU.AUSENCIA,0) * 100) / ISNULL(OUTU1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_OUTU,

ISNULL(NOV1.QT_AULAS,0) AS QT_AULAS_NOV,
ISNULL(NOV.AUSENCIA,0) AS AUSENCIA_NOV,
CASE WHEN ISNULL(NOV1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(NOV.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(NOV.AUSENCIA,0) * 100) / ISNULL(NOV1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_NOV,

ISNULL(DEZ1.QT_AULAS,0) AS QT_AULAS_DEZ,
ISNULL(DEZ.AUSENCIA,0) AS AUSENCIA_DEZ,
CASE WHEN ISNULL(DEZ1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(DEZ.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(DEZ.AUSENCIA,0) * 100) / ISNULL(DEZ1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_DEZ,

ISNULL(AULAS.QT_AULAS_ANO,0) AS QT_AULAS_ANO,
ISNULL(ANO1.QT_AULAS,0) AS QT_AULAS_REALIZADAS,
ISNULL(ANO.AUSENCIA,0) AS AUSENCIA_AULAS_REALIZADAS,
CASE WHEN ISNULL(ANO1.QT_AULAS,0) = 0
THEN
    'Sem aulas no ano'
ELSE
    CASE WHEN ISNULL(ANO.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(ANO.AUSENCIA,0) * 100) / ISNULL(ANO1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_ANO

FROM SMATRICULA (NOLOCK)

INNER JOIN SSTATUS (NOLOCK) ON
       SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA
       AND SMATRICULA.CODSTATUS = SSTATUS.CODSTATUS

INNER JOIN SALUNO (NOLOCK) ON
       SMATRICULA.CODCOLIGADA = SALUNO.CODCOLIGADA
       AND SMATRICULA.RA = SALUNO.RA

INNER JOIN PPESSOA (NOLOCK) ON
       SALUNO.CODPESSOA = PPESSOA.CODIGO

INNER JOIN STURMADISC (NOLOCK) ON
       SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
       AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
       AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
       AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET

INNER JOIN SMATRICPL (NOLOCK) ON
        SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
        AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
        AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
        AND SMATRICULA.RA = SMATRICPL.RA

INNER JOIN SPLETIVO (NOLOCK) ON
       STURMADISC.CODCOLIGADA = SPLETIVO.CODCOLIGADA
       AND STURMADISC.IDPERLET = SPLETIVO.IDPERLET

INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
       STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
       AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL

INNER JOIN GFILIAL (NOLOCK) ON
       SHABILITACAOFILIAL.CODCOLIGADA = GFILIAL.CODCOLIGADA
       AND SHABILITACAOFILIAL.CODFILIAL = GFILIAL.CODFILIAL

INNER JOIN SCURSO (NOLOCK) ON 
        SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
        AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

INNER JOIN SGRADE (NOLOCK) ON
       SHABILITACAOFILIAL.CODCOLIGADA = SGRADE.CODCOLIGADA
       AND SHABILITACAOFILIAL.CODCURSO = SGRADE.CODCURSO
       AND SHABILITACAOFILIAL.CODHABILITACAO = SGRADE.CODHABILITACAO
       AND SHABILITACAOFILIAL.CODGRADE = SGRADE.CODGRADE

INNER JOIN SHABILITACAO (NOLOCK) ON
       SHABILITACAO.CODCOLIGADA = SGRADE.CODCOLIGADA
       AND SHABILITACAO.CODCURSO = SGRADE.CODCURSO
       AND SHABILITACAO.CODHABILITACAO = SGRADE.CODHABILITACAO
     
INNER JOIN SDISCGRADE (NOLOCK) ON
       SGRADE.CODCOLIGADA = SDISCGRADE.CODCOLIGADA
       AND SGRADE.CODCURSO = SDISCGRADE.CODCURSO
       AND SGRADE.CODHABILITACAO = SDISCGRADE.CODHABILITACAO
       AND SGRADE.CODGRADE = SDISCGRADE.CODGRADE

INNER JOIN SDISCGRADECOMPL (NOLOCK) ON
       SDISCGRADE.CODCOLIGADA = SDISCGRADECOMPL.CODCOLIGADA
       AND SDISCGRADE.CODCURSO = SDISCGRADECOMPL.CODCURSO
       AND SDISCGRADE.CODHABILITACAO = SDISCGRADECOMPL.CODHABILITACAO
       AND SDISCGRADE.CODGRADE = SDISCGRADECOMPL.CODGRADE
       AND SDISCGRADE.CODDISC = SDISCGRADECOMPL.CODDISC

INNER JOIN SDISCIPLINA (NOLOCK) ON
       STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA
       AND STURMADISC.CODDISC = SDISCIPLINA.CODDISC
       AND SDISCGRADE.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA
       AND SDISCGRADE.CODDISC = SDISCIPLINA.CODDISC   

INNER JOIN SHORARIOTURMA (NOLOCK) ON
       STURMADISC.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
       AND STURMADISC.IDTURMADISC = SHORARIOTURMA.IDTURMADISC

INNER JOIN SHORARIO (NOLOCK) ON
       SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
       AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
            SUM(CASE WHEN FREQ1.PRESENCA IS NULL
            THEN
                0
            ELSE
                1
            END) AS  AUSENCIA 

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                   AND SMATRICULA.RA = FREQ1.RA
                   AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 1
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))    

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA)  AS JAN ON

     STURMADISC.CODTURMA = JAN.CODTURMA 
     AND SMATRICULA.RA = JAN.RA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(PLAN1.CODHOR) AS QT_AULAS

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 1
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))    

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA)  AS JAN1 ON

     STURMADISC.CODTURMA = JAN1.CODTURMA 
     AND SMATRICULA.RA = JAN1.RA


LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
            SUM(CASE WHEN FREQ1.PRESENCA IS NULL
            THEN
                0
            ELSE
                1
            END) AS  AUSENCIA 

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            INNER JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                   AND SMATRICULA.RA = FREQ1.RA
                   AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 2
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))    

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS FEV ON

    SMATRICULA.RA = FEV.RA AND
    STURMADISC.CODTURMA = FEV.CODTURMA


LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(PLAN1.CODHOR) AS QT_AULAS

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 2
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS FEV1 ON

    SMATRICULA.RA = FEV1.RA AND
    STURMADISC.CODTURMA = FEV1.CODTURMA


LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
            SUM(CASE WHEN FREQ1.PRESENCA IS NULL
            THEN
                0
            ELSE
                1
            END) AS  AUSENCIA 

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                   AND SMATRICULA.RA = FREQ1.RA
                   AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 3
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS MAR ON

    SMATRICULA.RA = MAR.RA AND
    STURMADISC.CODTURMA = MAR.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 3
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS MAR1 ON

    SMATRICULA.RA = MAR1.RA AND
    STURMADISC.CODTURMA = MAR1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 4
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS ABR ON

    SMATRICULA.RA = ABR.RA AND
    STURMADISC.CODTURMA = ABR.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 4
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS ABR1 ON

    SMATRICULA.RA = ABR1.RA AND
    STURMADISC.CODTURMA = ABR1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 5
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS MAI ON

    SMATRICULA.RA = MAI.RA AND
    STURMADISC.CODTURMA = MAI.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 5
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS MAI1 ON

    SMATRICULA.RA = MAI1.RA AND
    STURMADISC.CODTURMA = MAI1.CODTURMA


LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 6
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS JUN ON

    SMATRICULA.RA = JUN.RA AND
    STURMADISC.CODTURMA = JUN.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 6
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS JUN1 ON

    SMATRICULA.RA = JUN1.RA AND
    STURMADISC.CODTURMA = JUN1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 7
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS JUL ON

    SMATRICULA.RA = JUL.RA AND
    STURMADISC.CODTURMA = JUL.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 7
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS JUL1 ON

    SMATRICULA.RA = JUL1.RA AND
    STURMADISC.CODTURMA = JUL1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) =8
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA)AS AGO ON

    SMATRICULA.RA = AGO.RA AND
    STURMADISC.CODTURMA = AGO.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) =8
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA)AS AGO1 ON

    SMATRICULA.RA = AGO1.RA AND
    STURMADISC.CODTURMA = AGO1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA,
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 9
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS SETE ON

    SMATRICULA.RA = SETE.RA AND
    STURMADISC.CODTURMA = SETE.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 9
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS SETE1 ON

    SMATRICULA.RA = SETE1.RA AND
    STURMADISC.CODTURMA = SETE1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 10
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS OUTU ON

    SMATRICULA.RA = OUTU.RA AND
    STURMADISC.CODTURMA = OUTU.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 10
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS OUTU1 ON

    SMATRICULA.RA = OUTU1.RA AND
    STURMADISC.CODTURMA = OUTU1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 11
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS NOV ON

    SMATRICULA.RA = NOV.RA AND
    STURMADISC.CODTURMA = NOV.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 11
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS NOV1 ON

    SMATRICULA.RA = NOV1.RA AND
    STURMADISC.CODTURMA = NOV1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 12
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS DEZ ON

    SMATRICULA.RA = DEZ.RA AND
    STURMADISC.CODTURMA = DEZ.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 12
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS DEZ1 ON

    SMATRICULA.RA = DEZ1.RA AND
    STURMADISC.CODTURMA = DEZ1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA) AS ANO, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))
        



        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA)) AS ANO ON

    SMATRICULA.RA = ANO.RA AND
    STURMADISC.CODTURMA = ANO.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA) AS ANO, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))


        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA)) AS ANO1 ON

    SMATRICULA.RA = ANO1.RA AND
    STURMADISC.CODTURMA = ANO1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS_ANO 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA)) AS AULAS ON

    SMATRICULA.RA = AULAS.RA AND
    STURMADISC.CODTURMA = AULAS.CODTURMA

WHERE SMATRICULA.CODCOLIGADA = @CODCOLIGADA 
AND SMATRICPL.CODFILIAL = @CODFILIAL
AND STURMADISC.CODTURMA = @CODTURMA
AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2) AND ISNULL(SDISCGRADECOMPL.DISCDIVERS,0) = 0)
OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))
3981542.82136.35
SELECT COUNT(*) QUANTIDADE
                          FROM   SFREQUENCIA (NOLOCK) 
                            JOIN SHORARIOTURMA (NOLOCK)
                                  ON (SFREQUENCIA.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA AND
                                      SFREQUENCIA.IDHORARIOTURMA = SHORARIOTURMA.IDHORARIOTURMA)
                          WHERE  SFREQUENCIA.CODCOLIGADA = @CODCOLIGADA
                                 AND (SFREQUENCIA.IDTURMADISC = @IDTURMADISC
                                 OR   SFREQUENCIA.IDTURMADISC IN (SELECT  IDTURMADISCGERENCIADA 
                                                                          FROM STURMADISCGERENCIADA (NOLOCK)
                                                                  WHERE   CODCOLIGADA = @CODCOLIGADA
                                                                          AND IDTURMADISC = @IDTURMADISC))
                           AND SHORARIOTURMA.CODSUBTURMA IS NULL 
                           AND SFREQUENCIA.DATA BETWEEN @DATAINICIAL AND @DATAFINAL
70525.217502.95
SELECT SHORARIO.CODCOLIGADA,
                                 SHORARIO.CODHOR,
                                 SHORARIO.DIASEMANA,
                                 SHORARIO.HORAINICIAL,
                                 SHORARIO.HORAFINAL,
                                 STURMADISC.IDTURMADISC,
                                 STURMADISC.CODTURMA,
                                 SDISCIPLINA.NOMEREDUZIDO,
                                 SHORARIOTURMA.IDHORARIOTURMA,
                                 SHORARIOTURMA.DATAINICIAL,
                                 SHORARIOTURMA.DATAFINAL,
                                 SHORARIOTURMA.CODSUBTURMA,
                                 SDISCIPLINA.CODDISC,
                                 SDISCIPLINA.NOME,
                                 SCURSO.NOME                                                     CURSO,
                                 SHABILITACAO.NOME                                               HABILITACAO,
                                 STURMADISC.TIPO,
                                 COALESCE(SHORARIOTURMA.URLAULAONLINE, STURMADISC.URLAULAONLINE) URLAULAONLINE,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOHORARIOTURMA.CODPREDIO, ' - '), PREDIOHORARIOTURMA.NOME)
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOTURMADISC.CODPREDIO, ' - '), PREDIOTURMADISC.NOME)
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOTURMA.CODPREDIO, ' - '), PREDIOTURMA.NOME)
                                         END
                                     END
                                 END                                                             AS NOMEPREDIO,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN
                                     CASE
                                       WHEN BLOCOHORARIOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOHORARIOTURMA.CODBLOCO, ' - '), BLOCOHORARIOTURMA.DESCRICAO)
                                       ELSE BLOCOHORARIOTURMA.CODBLOCO
                                     END
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN
                                         CASE
                                           WHEN BLOCOTURMADISC.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOTURMADISC.CODBLOCO, ' - '), BLOCOTURMADISC.DESCRICAO)
                                           ELSE BLOCOTURMADISC.CODBLOCO
                                         END
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN
                                             CASE
                                               WHEN BLOCOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOTURMA.CODBLOCO, ' - '), BLOCOTURMA.DESCRICAO)
                                               ELSE BLOCOTURMA.CODBLOCO
                                             END
                                         END
                                     END
                                 END                                                             AS NOMEBLOCO,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN
                                     CASE
                                       WHEN SALAHORARIOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALAHORARIOTURMA.CODSALA, ' - '), SALAHORARIOTURMA.DESCRICAO)
                                       ELSE SALAHORARIOTURMA.CODSALA
                                     END
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN
                                         CASE
                                           WHEN SALATURMADISC.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALATURMADISC.CODSALA, ' - '), SALATURMADISC.DESCRICAO)
                                           ELSE SALATURMADISC.CODSALA
                                         END
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN
                                             CASE
                                               WHEN SALATURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALATURMA.CODSALA, ' - '), SALATURMA.DESCRICAO)
                                               ELSE SALATURMA.CODSALA
                                             END
                                         END
                                     END
                                 END                                                             AS NOMESALA
                         FROM   SHORARIOTURMA (NOLOCK)
                                 JOIN STURMADISC (NOLOCK)
                                   ON ( SHORARIOTURMA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                                        AND SHORARIOTURMA.IDTURMADISC = STURMADISC.IDTURMADISC )
                                 JOIN STURMA (NOLOCK)
                                   ON STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA
                                      AND STURMADISC.CODFILIAL = STURMA.CODFILIAL
                                      AND STURMADISC.IDPERLET = STURMA.IDPERLET
                                      AND STURMADISC.CODTURMA = STURMA.CODTURMA
                                 JOIN SHORARIOPROFESSOR (NOLOCK)
                                                     ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIOPROFESSOR.CODCOLIGADA 
                                                          AND SHORARIOTURMA.IDHORARIOTURMA = SHORARIOPROFESSOR.IDHORARIOTURMA )
                                                 JOIN SPROFESSORTURMA (NOLOCK)
                                                   ON  ( SHORARIOPROFESSOR.CODCOLIGADA = SPROFESSORTURMA.CODCOLIGADA 
                                                        AND SHORARIOPROFESSOR.IDPROFESSORTURMA = SPROFESSORTURMA.IDPROFESSORTURMA)
                                 JOIN SHORARIO (NOLOCK)
                                   ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIO.CODCOLIGADA
                                        AND SHORARIOTURMA.CODHOR = SHORARIO.CODHOR )
                                 JOIN SPLETIVO (NOLOCK)
                                   ON ( SPLETIVO.CODCOLIGADA = STURMADISC.CODCOLIGADA
                                        AND SPLETIVO.IDPERLET = STURMADISC.IDPERLET )
                                 JOIN SDISCIPLINA (NOLOCK)
                                   ON ( STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA
                                        AND STURMADISC.CODDISC = SDISCIPLINA.CODDISC )
                                 JOIN SPROFESSOR (NOLOCK)
                                   ON ( SPROFESSORTURMA.CODCOLIGADA = SPROFESSOR.CODCOLIGADA
                                        AND SPROFESSORTURMA.CODPROF = SPROFESSOR.CODPROF )
                                 JOIN PPESSOA (NOLOCK)
                                   ON ( SPROFESSOR.CODPESSOA = PPESSOA.CODIGO )
                                 LEFT JOIN SHABILITACAOFILIAL (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                                           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
                                 LEFT JOIN SHABILITACAO (NOLOCK)
                                        ON SHABILITACAOFILIAL.CODCOLIGADA = SHABILITACAO.CODCOLIGADA
                                           AND SHABILITACAOFILIAL.CODCURSO = SHABILITACAO.CODCURSO
                                           AND SHABILITACAOFILIAL.CODHABILITACAO = SHABILITACAO.CODHABILITACAO
                                 LEFT JOIN SCURSO (NOLOCK)
                                        ON SHABILITACAOFILIAL.CODCOLIGADA = SCURSO.CODCOLIGADA
                                           AND SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO
                                 LEFT JOIN SHORARIOTURMA SHORARIOSUBTUR(NOLOCK)
                                        ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIOSUBTUR.CODCOLIGADA
                                             AND SHORARIOTURMA.IDHORARIOTURMA = SHORARIOSUBTUR.IDHORARIOTURMAVINC )
                                 LEFT JOIN SSALA SALAHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = SALAHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = SALAHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = SALAHORARIOTURMA.CODPREDIO
                                           AND SHORARIOTURMA.CODSALA = SALAHORARIOTURMA.CODSALA
                                           AND SHORARIOTURMA.CODBLOCO = SALAHORARIOTURMA.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = BLOCOHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = BLOCOHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = BLOCOHORARIOTURMA.CODPREDIO
                                           AND SHORARIOTURMA.CODBLOCO = BLOCOHORARIOTURMA.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = PREDIOHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = PREDIOHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = PREDIOHORARIOTURMA.CODPREDIO
                                 LEFT JOIN SSALA SALATURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = SALATURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = SALATURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = SALATURMADISC.CODPREDIO
                                           AND STURMADISC.CODSALA = SALATURMADISC.CODSALA
                                           AND STURMADISC.CODBLOCO = SALATURMADISC.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOTURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = BLOCOTURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = BLOCOTURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = BLOCOTURMADISC.CODPREDIO
                                           AND STURMADISC.CODBLOCO = BLOCOTURMADISC.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOTURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = PREDIOTURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = PREDIOTURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = PREDIOTURMADISC.CODPREDIO
                                 LEFT JOIN SSALA SALATURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = SALATURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = SALATURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = SALATURMA.CODPREDIO
                                           AND STURMA.CODSALA = SALATURMA.CODSALA
                                           AND STURMA.CODBLOCO = SALATURMA.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOTURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = BLOCOTURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = BLOCOTURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = BLOCOTURMA.CODPREDIO
                                           AND STURMA.CODBLOCO = BLOCOTURMA.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOTURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = PREDIOTURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = PREDIOTURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = PREDIOTURMA.CODPREDIO
                          WHERE  SPLETIVO.ENCERRADO = 'N'
                                 AND SPLETIVO.EXIBIRPORTAL = 'S'
                                 AND STURMADISC.ATIVA = 'S'
                                 AND SPROFESSORTURMA.CODCOLIGADA = @CODCOLIGADA
                                 AND PPESSOA.CODUSUARIO = @CODUSUARIO
                                      AND STURMADISC.CODFILIAL = 951 AND STURMADISC.CODTIPOCURSO  = 1 
                                     /*AND*/ 
                                      AND ((STURMADISC.GERENCIAL = 'S') OR 
                                                                                    (STURMADISC.IDTURMADISC NOT IN 
                                                                       (SELECT IDTURMADISCGERENCIADA 
                                                                                                        FROM STURMADISCGERENCIADA (NOLOCK)
                                                                                                        WHERE CODCOLIGADA = 3)))ORDER BY SHORARIO.HORAINICIAL,
                                  SHORARIO.HORAFINAL,
                                  SHORARIO.DIASEMANA,
                                  SHORARIOTURMA.CODSUBTURMA,
                                  SHORARIOTURMA.DATAINICIAL

Top Queries por Duração (Desde o último restart) (TOP 10)

Exec Count Total Duration (s) Avg Duration (ms) Total CPU (s) Avg CPU (ms) Total Reads Query Text
6596613.0110034.926442.789776.60313204001
SELECT SMATRICULA.RA,
                             SMATRICULA.IDTURMADISC,
                             SMATRICULA.IDTURMADISCORIGEM,
                             SUM(CASE WHEN SPLANOAULA.FREQUENCIADISPWEB = '1' AND 
                                                                 (SJUSTIFICATIVAFALTA.COMPOETOTALFALTAS = 'S' OR SJUSTIFICATIVAFALTA.COMPOETOTALFALTAS IS NULL) 
                                                                  THEN 1 ELSE 0 END) FALTAS
                      FROM SMATRICULA (NOLOCK)
                        JOIN SETAPAS (NOLOCK)
                          ON SETAPAS.CODCOLIGADA = SMATRICULA.CODCOLIGADA
                            AND SETAPAS.IDTURMADISC = SMATRICULA.IDTURMADISC
                            AND SETAPAS.CODETAPA = @CODETAPA
                            AND SETAPAS.TIPOETAPA = 'F'
                        LEFT JOIN SFREQUENCIA (NOLOCK)
                              ON SMATRICULA.CODCOLIGADA = SFREQUENCIA.CODCOLIGADA
                                   AND SMATRICULA.IDTURMADISC = SFREQUENCIA.IDTURMADISC
                                   AND SMATRICULA.RA = SFREQUENCIA.RA
                                   AND SFREQUENCIA.PRESENCA = 'A'
                                   AND ( ( SETAPAS.DTINICIO IS NULL AND SETAPAS.DTFIM IS NULL )
                                   OR ( SFREQUENCIA.DATA BETWEEN SETAPAS.DTINICIO AND SETAPAS.DTFIM ) )
                             LEFT JOIN SPLANOAULA (NOLOCK)
                                                    ON SFREQUENCIA.CODCOLIGADA = SPLANOAULA.CODCOLIGADA
                                                      AND SFREQUENCIA.IDTURMADISC = SPLANOAULA.IDTURMADISC
                                                      AND SFREQUENCIA.IDHORARIOTURMA = SPLANOAULA.IDHORARIOTURMA
                                                      AND SFREQUENCIA.DATA = SPLANOAULA.DATA
                        LEFT JOIN STURMADISCGERENCIADA (NOLOCK)
                          ON SMATRICULA.CODCOLIGADA = STURMADISCGERENCIADA.CODCOLIGADA
                             AND SMATRICULA.IDTURMADISC = STURMADISCGERENCIADA.IDTURMADISCGERENCIADA
                        LEFT JOIN SJUSTIFICATIVAFALTA (NOLOCK)
                          ON (SFREQUENCIA.CODCOLIGADA = SJUSTIFICATIVAFALTA.CODCOLIGADA
                             AND SFREQUENCIA.IDJUSTIFICATIVAFALTA = SJUSTIFICATIVAFALTA.IDJUSTIFICATIVAFALTA)
                      WHERE (SMATRICULA.CODCOLIGADA = @CODCOLIGADA
                                  AND SMATRICULA.IDTURMADISC = @IDTURMADISC)
                        
                      GROUP BY SMATRICULA.RA, 
                             SMATRICULA.IDTURMADISC,
                             SMATRICULA.IDTURMADISCORIGEM
4922767.325624.642717.125522.602378904992
SELECT SHORARIO.CODCOLIGADA, 
                               SHORARIO.CODHOR, 
                               SHORARIO.CODTURNO,
                               SHORARIO.HORAINICIAL, 
                               SHORARIO.HORAFINAL, 
                               SHORARIO.DIASEMANA,
                                CASE WHEN (SHORARIOTURMA.DATAINICIAL IS NOT NULL)
                                  THEN SHORARIOTURMA.DATAINICIAL
                                  WHEN (STURMADISC.DTINICIAL IS NOT NULL)
                                       THEN STURMADISC.DTINICIAL
                                  WHEN (STURMA.DTINICIAL IS NOT NULL)
                                       THEN STURMA.DTINICIAL
                                  ELSE
                                     SPLETIVO.DTINICIO 
                                END DATAINICIAL,  
                                CASE WHEN (SHORARIOTURMA.DATAFINAL IS NOT NULL)
                                  THEN SHORARIOTURMA.DATAFINAL
                                  WHEN (STURMADISC.DTFINAL IS NOT NULL)
                                       THEN STURMADISC.DTFINAL
                                  WHEN (STURMA.DTFINAL IS NOT NULL)
                                       THEN STURMA.DTFINAL
                                 WHEN (SPLETIVO.DTFIM IS NOT NULL)
                                       THEN SPLETIVO.DTFIM
                                  ELSE
                                     SPLETIVO.DTPREVISTA 
                                END DATAFINAL, 
                                CASE WHEN (SHORARIOTURMA.DATAINICIAL IS NOT NULL)
                                  THEN '0'
                                  WHEN (STURMADISC.DTINICIAL IS NOT NULL)
                                       THEN '4'
                                  WHEN (STURMA.DTINICIAL IS NOT NULL)
                                       THEN '5'
                                  ELSE
                                     '3'
                                END ORIGEMDATAINICIAL,  
                                CASE WHEN (SHORARIOTURMA.DATAFINAL IS NOT NULL)
                                  THEN '0'
                                  WHEN (STURMADISC.DTFINAL IS NOT NULL)
                                       THEN '4'
                                  WHEN (STURMA.DTFINAL IS NOT NULL)
                                       THEN '5'
                                  ELSE
                                     '3'
                                END ORIGEMDATAFINAL,
                                SHORARIOTURMA.IDTURMADISC ID, 
                                SDISCIPLINA.NOME  +  ' ('  +  SDISCIPLINA.CODDISC  +  ')' DESCRICAO, 
                                4 TIPOHORARIO, 
                                3 TIPOCHOQUEHORARIO,
                                STURMADISC.CODTIPOCURSO,
                                STIPOCURSO.NOME AS TIPOCURSO,
                                STURMADISC.CODFILIAL,
                                GFILIAL.NOME AS FILIAL,
                                SHORARIOTURMA.IDHORARIOTURMA,
                                SHORARIOTURMA.CODSUBTURMA,
                                STURMADISC.ESPELHO,
                                SMATRICULA.IDTURMADISCPRINCIPAL,
                                SSTATUS.DIINCALUNODISC,
                                SSTATUS.DIBLQALTSITMATDISCPRT
                              FROM SHORARIOTURMA (NOLOCK) JOIN SHORARIO (NOLOCK)
                                  ON (SHORARIOTURMA.CODCOLIGADA = SHORARIO.CODCOLIGADA AND 
                                      SHORARIOTURMA.CODHOR = SHORARIO.CODHOR)
                                JOIN STURMADISC (NOLOCK)
                                  ON (SHORARIOTURMA.CODCOLIGADA = STURMADISC.CODCOLIGADA AND
                                      SHORARIOTURMA.IDTURMADISC = STURMADISC.IDTURMADISC)
                                JOIN SDISCIPLINA (NOLOCK)
                                  ON (STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA AND
                                      STURMADISC.CODDISC = SDISCIPLINA.CODDISC)
                                JOIN STURMA (NOLOCK)
                                  ON (STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA AND
                                      STURMADISC.CODFILIAL = STURMA.CODFILIAL AND
                                      STURMADISC.CODTURMA = STURMA.CODTURMA AND
                                      STURMADISC.IDPERLET = STURMA.IDPERLET)
                                JOIN SMATRICULA (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA AND
                                      SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC)
                                JOIN SPLETIVO (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND
                                      SMATRICULA.IDPERLET = SPLETIVO.IDPERLET)
                                JOIN SSTATUS (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA AND
                                      SMATRICULA.CODSTATUS   = SSTATUS.CODSTATUS) 
                                JOIN STIPOCURSO (NOLOCK)
                                  ON STURMADISC.CODCOLIGADA = STIPOCURSO.CODCOLIGADA
                                    AND STURMADISC.CODTIPOCURSO = STIPOCURSO.CODTIPOCURSO
                                JOIN GFILIAL (NOLOCK)
                                  ON STURMADISC.CODCOLIGADA = GFILIAL.CODCOLIGADA
                                    AND STURMADISC.CODFILIAL = GFILIAL.CODFILIAL
                                LEFT JOIN SPARAM (NOLOCK) 
                                  ON (STURMA.CODCOLIGADA = SPARAM.CODCOLIGADA AND
                                      STURMA.CODFILIAL = SPARAM.CODFILIAL AND
                                      STURMA.CODTIPOCURSO = SPARAM.CODTIPOCURSO AND
                                      SPARAM.ID = 'UTITURMASUBTURMAIND') 
 WHERE SHORARIOTURMA.CODCOLIGADA = @CODCOLIGADA AND                              
                              SMATRICULA.RA = @RA AND
                              (STURMADISC.ESPELHO = 'N' OR STURMADISC.ESPELHO IS NULL)  AND
                              SPLETIVO.ENCERRADO = 'N' AND
                              STURMADISC.ATIVA = 'S' 
 AND 
          ( ( ( SPARAM.TEXTO = '1'
                  OR SPARAM.TEXTO = 'S' )
               AND ( ( SHORARIOTURMA.CODSUBTURMA IS NULL
                        OR SHORARIOTURMA.CODSUBTURMA = '' )
                      OR SHORARIOTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA ) )
              OR ( ( SPARAM.TEXTO = '0'
                      OR SPARAM.TEXTO = 'N'
                      OR SPARAM.TEXTO IS NULL )
                   AND ( ( ( SHORARIOTURMA.CODSUBTURMA IS NULL
                              OR SHORARIOTURMA.CODSUBTURMA = '' )
                           AND NOT EXISTS (SELECT HORARIOSUBTURMA.CODSUBTURMA
                                           FROM   SHORARIOTURMA HORARIOSUBTURMA (NOLOCK)
                                           WHERE  HORARIOSUBTURMA.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                                                  AND HORARIOSUBTURMA.IDTURMADISC = SHORARIOTURMA.IDTURMADISC
                                                  AND HORARIOSUBTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA) )
                          OR SHORARIOTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA ) ) ) 
 AND STURMADISC.CODTIPOCURSO = @CODTIPOCURSO_N
 AND (SSTATUS.DIINCALUNODISC = 'S' OR SSTATUS.DIEMCURSO = 'S')
 AND (SMATRICULA.IDTURMADISCORIGEM IS NOT NULL
                               OR (SMATRICULA.IDTURMADISCORIGEM IS NULL AND SMATRICULA.IDTURMADISCPRINCIPAL IS NULL 
                                                                        AND NOT EXISTS(SELECT 1 FROM SMATRICULA TAB (NOLOCK)
                                                                                 WHERE TAB.RA = SMATRICULA.RA
                                                                                 AND TAB.IDTURMADISCORIGEM = STURMADISC.IDTURMADISC)))
812662.9632876.082555.8931554.182500846640
SELECT SHORARIO.CODCOLIGADA,
                                 SHORARIO.CODHOR,
                                 SHORARIO.DIASEMANA,
                                 SHORARIO.HORAINICIAL,
                                 SHORARIO.HORAFINAL,
                                 STURMADISC.IDTURMADISC,
                                 STURMADISC.CODTURMA,
                                 SDISCIPLINA.NOMEREDUZIDO,
                                 SHORARIOTURMA.IDHORARIOTURMA,
                                 SHORARIOTURMA.DATAINICIAL,
                                 SHORARIOTURMA.DATAFINAL,
                                 SHORARIOTURMA.CODSUBTURMA,
                                 SDISCIPLINA.CODDISC,
                                 SDISCIPLINA.NOME,
                                 SCURSO.NOME                                                     CURSO,
                                 SHABILITACAO.NOME                                               HABILITACAO,
                                 STURMADISC.TIPO,
                                 COALESCE(SHORARIOTURMA.URLAULAONLINE, STURMADISC.URLAULAONLINE) URLAULAONLINE,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOHORARIOTURMA.CODPREDIO, ' - '), PREDIOHORARIOTURMA.NOME)
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOTURMADISC.CODPREDIO, ' - '), PREDIOTURMADISC.NOME)
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOTURMA.CODPREDIO, ' - '), PREDIOTURMA.NOME)
                                         END
                                     END
                                 END                                                             AS NOMEPREDIO,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN
                                     CASE
                                       WHEN BLOCOHORARIOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOHORARIOTURMA.CODBLOCO, ' - '), BLOCOHORARIOTURMA.DESCRICAO)
                                       ELSE BLOCOHORARIOTURMA.CODBLOCO
                                     END
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN
                                         CASE
                                           WHEN BLOCOTURMADISC.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOTURMADISC.CODBLOCO, ' - '), BLOCOTURMADISC.DESCRICAO)
                                           ELSE BLOCOTURMADISC.CODBLOCO
                                         END
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN
                                             CASE
                                               WHEN BLOCOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOTURMA.CODBLOCO, ' - '), BLOCOTURMA.DESCRICAO)
                                               ELSE BLOCOTURMA.CODBLOCO
                                             END
                                         END
                                     END
                                 END                                                             AS NOMEBLOCO,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN
                                     CASE
                                       WHEN SALAHORARIOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALAHORARIOTURMA.CODSALA, ' - '), SALAHORARIOTURMA.DESCRICAO)
                                       ELSE SALAHORARIOTURMA.CODSALA
                                     END
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN
                                         CASE
                                           WHEN SALATURMADISC.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALATURMADISC.CODSALA, ' - '), SALATURMADISC.DESCRICAO)
                                           ELSE SALATURMADISC.CODSALA
                                         END
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN
                                             CASE
                                               WHEN SALATURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALATURMA.CODSALA, ' - '), SALATURMA.DESCRICAO)
                                               ELSE SALATURMA.CODSALA
                                             END
                                         END
                                     END
                                 END                                                             AS NOMESALA
                         FROM   SHORARIOTURMA (NOLOCK)
                                 JOIN STURMADISC (NOLOCK)
                                   ON ( SHORARIOTURMA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                                        AND SHORARIOTURMA.IDTURMADISC = STURMADISC.IDTURMADISC )
                                 JOIN STURMA (NOLOCK)
                                   ON STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA
                                      AND STURMADISC.CODFILIAL = STURMA.CODFILIAL
                                      AND STURMADISC.IDPERLET = STURMA.IDPERLET
                                      AND STURMADISC.CODTURMA = STURMA.CODTURMA
                                 JOIN SHORARIOPROFESSOR (NOLOCK)
                                                     ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIOPROFESSOR.CODCOLIGADA 
                                                          AND SHORARIOTURMA.IDHORARIOTURMA = SHORARIOPROFESSOR.IDHORARIOTURMA )
                                                 JOIN SPROFESSORTURMA (NOLOCK)
                                                   ON  ( SHORARIOPROFESSOR.CODCOLIGADA = SPROFESSORTURMA.CODCOLIGADA 
                                                        AND SHORARIOPROFESSOR.IDPROFESSORTURMA = SPROFESSORTURMA.IDPROFESSORTURMA)
                                 JOIN SHORARIO (NOLOCK)
                                   ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIO.CODCOLIGADA
                                        AND SHORARIOTURMA.CODHOR = SHORARIO.CODHOR )
                                 JOIN SPLETIVO (NOLOCK)
                                   ON ( SPLETIVO.CODCOLIGADA = STURMADISC.CODCOLIGADA
                                        AND SPLETIVO.IDPERLET = STURMADISC.IDPERLET )
                                 JOIN SDISCIPLINA (NOLOCK)
                                   ON ( STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA
                                        AND STURMADISC.CODDISC = SDISCIPLINA.CODDISC )
                                 JOIN SPROFESSOR (NOLOCK)
                                   ON ( SPROFESSORTURMA.CODCOLIGADA = SPROFESSOR.CODCOLIGADA
                                        AND SPROFESSORTURMA.CODPROF = SPROFESSOR.CODPROF )
                                 JOIN PPESSOA (NOLOCK)
                                   ON ( SPROFESSOR.CODPESSOA = PPESSOA.CODIGO )
                                 LEFT JOIN SHABILITACAOFILIAL (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                                           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
                                 LEFT JOIN SHABILITACAO (NOLOCK)
                                        ON SHABILITACAOFILIAL.CODCOLIGADA = SHABILITACAO.CODCOLIGADA
                                           AND SHABILITACAOFILIAL.CODCURSO = SHABILITACAO.CODCURSO
                                           AND SHABILITACAOFILIAL.CODHABILITACAO = SHABILITACAO.CODHABILITACAO
                                 LEFT JOIN SCURSO (NOLOCK)
                                        ON SHABILITACAOFILIAL.CODCOLIGADA = SCURSO.CODCOLIGADA
                                           AND SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO
                                 LEFT JOIN SHORARIOTURMA SHORARIOSUBTUR(NOLOCK)
                                        ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIOSUBTUR.CODCOLIGADA
                                             AND SHORARIOTURMA.IDHORARIOTURMA = SHORARIOSUBTUR.IDHORARIOTURMAVINC )
                                 LEFT JOIN SSALA SALAHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = SALAHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = SALAHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = SALAHORARIOTURMA.CODPREDIO
                                           AND SHORARIOTURMA.CODSALA = SALAHORARIOTURMA.CODSALA
                                           AND SHORARIOTURMA.CODBLOCO = SALAHORARIOTURMA.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = BLOCOHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = BLOCOHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = BLOCOHORARIOTURMA.CODPREDIO
                                           AND SHORARIOTURMA.CODBLOCO = BLOCOHORARIOTURMA.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = PREDIOHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = PREDIOHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = PREDIOHORARIOTURMA.CODPREDIO
                                 LEFT JOIN SSALA SALATURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = SALATURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = SALATURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = SALATURMADISC.CODPREDIO
                                           AND STURMADISC.CODSALA = SALATURMADISC.CODSALA
                                           AND STURMADISC.CODBLOCO = SALATURMADISC.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOTURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = BLOCOTURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = BLOCOTURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = BLOCOTURMADISC.CODPREDIO
                                           AND STURMADISC.CODBLOCO = BLOCOTURMADISC.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOTURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = PREDIOTURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = PREDIOTURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = PREDIOTURMADISC.CODPREDIO
                                 LEFT JOIN SSALA SALATURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = SALATURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = SALATURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = SALATURMA.CODPREDIO
                                           AND STURMA.CODSALA = SALATURMA.CODSALA
                                           AND STURMA.CODBLOCO = SALATURMA.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOTURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = BLOCOTURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = BLOCOTURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = BLOCOTURMA.CODPREDIO
                                           AND STURMA.CODBLOCO = BLOCOTURMA.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOTURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = PREDIOTURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = PREDIOTURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = PREDIOTURMA.CODPREDIO
                          WHERE  SPLETIVO.ENCERRADO = 'N'
                                 AND SPLETIVO.EXIBIRPORTAL = 'S'
                                 AND STURMADISC.ATIVA = 'S'
                                 AND SPROFESSORTURMA.CODCOLIGADA = @CODCOLIGADA
                                 AND PPESSOA.CODUSUARIO = @CODUSUARIO
                                      AND STURMADISC.CODFILIAL = 934 AND STURMADISC.CODTIPOCURSO  = 1 
                                     /*AND*/ 
                                      AND ((STURMADISC.GERENCIAL = 'S') OR 
                                                                                    (STURMADISC.IDTURMADISC NOT IN 
                                                                       (SELECT IDTURMADISCGERENCIADA 
                                                                                                        FROM STURMADISCGERENCIADA (NOLOCK)
                                                                                                        WHERE CODCOLIGADA = 3)))ORDER BY SHORARIO.HORAINICIAL,
                                  SHORARIO.HORAFINAL,
                                  SHORARIO.DIASEMANA,
                                  SHORARIOTURMA.CODSUBTURMA,
                                  SHORARIOTURMA.DATAINICIAL
661215.4718416.251170.6217736.601032819822
SELECT SHORARIO.CODCOLIGADA, 
                               SHORARIO.CODHOR, 
                               SHORARIO.CODTURNO,
                               SHORARIO.HORAINICIAL, 
                               SHORARIO.HORAFINAL, 
                               SHORARIO.DIASEMANA,
                                CASE WHEN (SHORARIOTURMA.DATAINICIAL IS NOT NULL)
                                  THEN SHORARIOTURMA.DATAINICIAL
                                  WHEN (STURMADISC.DTINICIAL IS NOT NULL)
                                       THEN STURMADISC.DTINICIAL
                                  WHEN (STURMA.DTINICIAL IS NOT NULL)
                                       THEN STURMA.DTINICIAL
                                  ELSE
                                     SPLETIVO.DTINICIO 
                                END DATAINICIAL,  
                                CASE WHEN (SHORARIOTURMA.DATAFINAL IS NOT NULL)
                                  THEN SHORARIOTURMA.DATAFINAL
                                  WHEN (STURMADISC.DTFINAL IS NOT NULL)
                                       THEN STURMADISC.DTFINAL
                                  WHEN (STURMA.DTFINAL IS NOT NULL)
                                       THEN STURMA.DTFINAL
                                 WHEN (SPLETIVO.DTFIM IS NOT NULL)
                                       THEN SPLETIVO.DTFIM
                                  ELSE
                                     SPLETIVO.DTPREVISTA 
                                END DATAFINAL, 
                                CASE WHEN (SHORARIOTURMA.DATAINICIAL IS NOT NULL)
                                  THEN '0'
                                  WHEN (STURMADISC.DTINICIAL IS NOT NULL)
                                       THEN '4'
                                  WHEN (STURMA.DTINICIAL IS NOT NULL)
                                       THEN '5'
                                  ELSE
                                     '3'
                                END ORIGEMDATAINICIAL,  
                                CASE WHEN (SHORARIOTURMA.DATAFINAL IS NOT NULL)
                                  THEN '0'
                                  WHEN (STURMADISC.DTFINAL IS NOT NULL)
                                       THEN '4'
                                  WHEN (STURMA.DTFINAL IS NOT NULL)
                                       THEN '5'
                                  ELSE
                                     '3'
                                END ORIGEMDATAFINAL,
                                SHORARIOTURMA.IDTURMADISC ID, 
                                SDISCIPLINA.NOME  +  ' ('  +  SDISCIPLINA.CODDISC  +  ')' DESCRICAO, 
                                4 TIPOHORARIO, 
                                3 TIPOCHOQUEHORARIO,
                                STURMADISC.CODTIPOCURSO,
                                STIPOCURSO.NOME AS TIPOCURSO,
                                STURMADISC.CODFILIAL,
                                GFILIAL.NOME AS FILIAL,
                                SHORARIOTURMA.IDHORARIOTURMA,
                                SHORARIOTURMA.CODSUBTURMA,
                                STURMADISC.ESPELHO,
                                SMATRICULA.IDTURMADISCPRINCIPAL,
                                SSTATUS.DIINCALUNODISC,
                                SSTATUS.DIBLQALTSITMATDISCPRT
                              FROM SHORARIOTURMA (NOLOCK) JOIN SHORARIO (NOLOCK)
                                  ON (SHORARIOTURMA.CODCOLIGADA = SHORARIO.CODCOLIGADA AND 
                                      SHORARIOTURMA.CODHOR = SHORARIO.CODHOR)
                                JOIN STURMADISC (NOLOCK)
                                  ON (SHORARIOTURMA.CODCOLIGADA = STURMADISC.CODCOLIGADA AND
                                      SHORARIOTURMA.IDTURMADISC = STURMADISC.IDTURMADISC)
                                JOIN SDISCIPLINA (NOLOCK)
                                  ON (STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA AND
                                      STURMADISC.CODDISC = SDISCIPLINA.CODDISC)
                                JOIN STURMA (NOLOCK)
                                  ON (STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA AND
                                      STURMADISC.CODFILIAL = STURMA.CODFILIAL AND
                                      STURMADISC.CODTURMA = STURMA.CODTURMA AND
                                      STURMADISC.IDPERLET = STURMA.IDPERLET)
                                JOIN SMATRICULA (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA AND
                                      SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC)
                                JOIN SPLETIVO (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND
                                      SMATRICULA.IDPERLET = SPLETIVO.IDPERLET)
                                JOIN SSTATUS (NOLOCK)
                                  ON (SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA AND
                                      SMATRICULA.CODSTATUS   = SSTATUS.CODSTATUS) 
                                JOIN STIPOCURSO (NOLOCK)
                                  ON STURMADISC.CODCOLIGADA = STIPOCURSO.CODCOLIGADA
                                    AND STURMADISC.CODTIPOCURSO = STIPOCURSO.CODTIPOCURSO
                                JOIN GFILIAL (NOLOCK)
                                  ON STURMADISC.CODCOLIGADA = GFILIAL.CODCOLIGADA
                                    AND STURMADISC.CODFILIAL = GFILIAL.CODFILIAL
                                LEFT JOIN SPARAM (NOLOCK) 
                                  ON (STURMA.CODCOLIGADA = SPARAM.CODCOLIGADA AND
                                      STURMA.CODFILIAL = SPARAM.CODFILIAL AND
                                      STURMA.CODTIPOCURSO = SPARAM.CODTIPOCURSO AND
                                      SPARAM.ID = 'UTITURMASUBTURMAIND') 
 WHERE SHORARIOTURMA.CODCOLIGADA = @CODCOLIGADA AND                              
                              SMATRICULA.RA = @RA AND
                              (STURMADISC.ESPELHO = 'N' OR STURMADISC.ESPELHO IS NULL)  AND
                              SPLETIVO.ENCERRADO = 'N' AND
                              STURMADISC.ATIVA = 'S' 
 AND 
          ( ( ( SPARAM.TEXTO = '1'
                  OR SPARAM.TEXTO = 'S' )
               AND ( ( SHORARIOTURMA.CODSUBTURMA IS NULL
                        OR SHORARIOTURMA.CODSUBTURMA = '' )
                      OR SHORARIOTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA ) )
              OR ( ( SPARAM.TEXTO = '0'
                      OR SPARAM.TEXTO = 'N'
                      OR SPARAM.TEXTO IS NULL )
                   AND ( ( ( SHORARIOTURMA.CODSUBTURMA IS NULL
                              OR SHORARIOTURMA.CODSUBTURMA = '' )
                           AND NOT EXISTS (SELECT HORARIOSUBTURMA.CODSUBTURMA
                                           FROM   SHORARIOTURMA HORARIOSUBTURMA (NOLOCK)
                                           WHERE  HORARIOSUBTURMA.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                                                  AND HORARIOSUBTURMA.IDTURMADISC = SHORARIOTURMA.IDTURMADISC
                                                  AND HORARIOSUBTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA) )
                          OR SHORARIOTURMA.CODSUBTURMA = SMATRICULA.CODSUBTURMA ) ) ) 
 AND STURMADISC.CODTIPOCURSO = @CODTIPOCURSO_N
 AND (SSTATUS.DIINCALUNODISC = 'S' OR SSTATUS.DIEMCURSO = 'S')
 AND (SMATRICULA.IDTURMADISCORIGEM IS NOT NULL
                               OR (SMATRICULA.IDTURMADISCORIGEM IS NULL AND SMATRICULA.IDTURMADISCPRINCIPAL IS NULL 
                                                                        AND NOT EXISTS(SELECT 1 FROM SMATRICULA TAB (NOLOCK)
                                                                                 WHERE TAB.RA = SMATRICULA.RA
                                                                                 AND TAB.IDTURMADISCORIGEM = STURMADISC.IDTURMADISC)))
33568.4417225.40545.8616541.07489384445
SELECT DISTINCT 
GFILIAL.NOME AS ESCOLA,
SMATRICULA.RA,
PPESSOA.NOME AS ALUNO,
SSTATUS.DESCRICAO AS STATUS,
SPLETIVO.CODPERLET AS PERIODO_LETIVO,
SCURSO.NOME AS CURSO,
SHABILITACAO.NOME AS SERIE,
STURMADISC.CODTURMA AS TURMA,
CONVERT (INT, SGRADE.CARGAHORARIA)AS CH_TOTAL,
ANO.ANO,
ISNULL(JAN1.QT_AULAS,0) AS QT_AULAS_JAN,
ISNULL(JAN.AUSENCIA,0) AS AUSENCIA_JAN,
CASE WHEN ISNULL(JAN1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(JAN.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(JAN.AUSENCIA,0) * 100) / ISNULL(JAN1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_JAN,

ISNULL(FEV1.QT_AULAS,0) AS QT_AULAS_FEV,
ISNULL(FEV.AUSENCIA,0) AS AUSENCIA_FEV,
CASE WHEN ISNULL(FEV1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(FEV.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(FEV.AUSENCIA,0) * 100) / ISNULL(FEV1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_FEV,


ISNULL(MAR1.QT_AULAS,0) AS QT_AULAS_MAR,
ISNULL(MAR.AUSENCIA,0) AS AUSENCIA_MAR,
CASE WHEN ISNULL(MAR1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(MAR.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(MAR.AUSENCIA,0) * 100) / ISNULL(MAR1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_MAR,

ISNULL(ABR1.QT_AULAS,0) AS QT_AULAS_ABR,
ISNULL(ABR.AUSENCIA,0) AS AUSENCIA_ABR,
CASE WHEN ISNULL(ABR1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(ABR.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(ABR.AUSENCIA,0) * 100) / ISNULL(ABR1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_ABR,

ISNULL(MAI1.QT_AULAS,0) AS QT_AULAS_MAI,
ISNULL(MAI.AUSENCIA,0) AS AUSENCIA_MAI,
CASE WHEN ISNULL(MAI1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(MAI.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(MAI.AUSENCIA,0) * 100) / ISNULL(MAI1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_MAI,

ISNULL(JUN1.QT_AULAS,0) AS QT_AULAS_JUN,
ISNULL(JUN.AUSENCIA,0) AS AUSENCIA_JUN,
CASE WHEN ISNULL(JUN1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(JUN.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(JUN.AUSENCIA,0) * 100) / ISNULL(JUN1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_JUN,

ISNULL(JUL1.QT_AULAS,0) AS QT_AULAS_JUL,
ISNULL(JUL.AUSENCIA,0) AS AUSENCIA_JUL,
CASE WHEN ISNULL(JUL1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(JUL.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(JUL.AUSENCIA,0) * 100) / ISNULL(JUL1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_JUL,

ISNULL(AGO1.QT_AULAS,0) AS QT_AULAS_AGO,
ISNULL(AGO.AUSENCIA,0) AS AUSENCIA_AGO,
CASE WHEN ISNULL(AGO1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(AGO.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(AGO.AUSENCIA,0) * 100) / ISNULL(AGO1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_AGO,

ISNULL(SETE1.QT_AULAS,0) AS QT_AULAS_SETE,
ISNULL(SETE.AUSENCIA,0) AS AUSENCIA_SETE,
CASE WHEN ISNULL(SETE1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(SETE.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(SETE.AUSENCIA,0) * 100) / ISNULL(SETE1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_SETE,

ISNULL(OUTU1.QT_AULAS,0) AS QT_AULAS_OUTU,
ISNULL(OUTU.AUSENCIA,0) AS AUSENCIA_OUTU,
CASE WHEN ISNULL(OUTU1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(OUTU.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(OUTU.AUSENCIA,0) * 100) / ISNULL(OUTU1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_OUTU,

ISNULL(NOV1.QT_AULAS,0) AS QT_AULAS_NOV,
ISNULL(NOV.AUSENCIA,0) AS AUSENCIA_NOV,
CASE WHEN ISNULL(NOV1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(NOV.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(NOV.AUSENCIA,0) * 100) / ISNULL(NOV1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_NOV,

ISNULL(DEZ1.QT_AULAS,0) AS QT_AULAS_DEZ,
ISNULL(DEZ.AUSENCIA,0) AS AUSENCIA_DEZ,
CASE WHEN ISNULL(DEZ1.QT_AULAS,0) = 0
THEN
    'Sem aulas no m�s'
ELSE
    CASE WHEN ISNULL(DEZ.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(DEZ.AUSENCIA,0) * 100) / ISNULL(DEZ1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_DEZ,

ISNULL(AULAS.QT_AULAS_ANO,0) AS QT_AULAS_ANO,
ISNULL(ANO1.QT_AULAS,0) AS QT_AULAS_REALIZADAS,
ISNULL(ANO.AUSENCIA,0) AS AUSENCIA_AULAS_REALIZADAS,
CASE WHEN ISNULL(ANO1.QT_AULAS,0) = 0
THEN
    'Sem aulas no ano'
ELSE
    CASE WHEN ISNULL(ANO.AUSENCIA,0) = 0
    THEN
        '100%'
    ELSE
        CONVERT(VARCHAR,100 - ((ISNULL(ANO.AUSENCIA,0) * 100) / ISNULL(ANO1.QT_AULAS,0))) + '%'
    END
END AS PERC_FREQ_ANO

FROM SMATRICULA (NOLOCK)

INNER JOIN SSTATUS (NOLOCK) ON
       SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA
       AND SMATRICULA.CODSTATUS = SSTATUS.CODSTATUS

INNER JOIN SALUNO (NOLOCK) ON
       SMATRICULA.CODCOLIGADA = SALUNO.CODCOLIGADA
       AND SMATRICULA.RA = SALUNO.RA

INNER JOIN PPESSOA (NOLOCK) ON
       SALUNO.CODPESSOA = PPESSOA.CODIGO

INNER JOIN STURMADISC (NOLOCK) ON
       SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
       AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
       AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
       AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET

INNER JOIN SMATRICPL (NOLOCK) ON
        SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
        AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
        AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
        AND SMATRICULA.RA = SMATRICPL.RA

INNER JOIN SPLETIVO (NOLOCK) ON
       STURMADISC.CODCOLIGADA = SPLETIVO.CODCOLIGADA
       AND STURMADISC.IDPERLET = SPLETIVO.IDPERLET

INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
       STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
       AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL

INNER JOIN GFILIAL (NOLOCK) ON
       SHABILITACAOFILIAL.CODCOLIGADA = GFILIAL.CODCOLIGADA
       AND SHABILITACAOFILIAL.CODFILIAL = GFILIAL.CODFILIAL

INNER JOIN SCURSO (NOLOCK) ON 
        SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
        AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

INNER JOIN SGRADE (NOLOCK) ON
       SHABILITACAOFILIAL.CODCOLIGADA = SGRADE.CODCOLIGADA
       AND SHABILITACAOFILIAL.CODCURSO = SGRADE.CODCURSO
       AND SHABILITACAOFILIAL.CODHABILITACAO = SGRADE.CODHABILITACAO
       AND SHABILITACAOFILIAL.CODGRADE = SGRADE.CODGRADE

INNER JOIN SHABILITACAO (NOLOCK) ON
       SHABILITACAO.CODCOLIGADA = SGRADE.CODCOLIGADA
       AND SHABILITACAO.CODCURSO = SGRADE.CODCURSO
       AND SHABILITACAO.CODHABILITACAO = SGRADE.CODHABILITACAO
     
INNER JOIN SDISCGRADE (NOLOCK) ON
       SGRADE.CODCOLIGADA = SDISCGRADE.CODCOLIGADA
       AND SGRADE.CODCURSO = SDISCGRADE.CODCURSO
       AND SGRADE.CODHABILITACAO = SDISCGRADE.CODHABILITACAO
       AND SGRADE.CODGRADE = SDISCGRADE.CODGRADE

INNER JOIN SDISCGRADECOMPL (NOLOCK) ON
       SDISCGRADE.CODCOLIGADA = SDISCGRADECOMPL.CODCOLIGADA
       AND SDISCGRADE.CODCURSO = SDISCGRADECOMPL.CODCURSO
       AND SDISCGRADE.CODHABILITACAO = SDISCGRADECOMPL.CODHABILITACAO
       AND SDISCGRADE.CODGRADE = SDISCGRADECOMPL.CODGRADE
       AND SDISCGRADE.CODDISC = SDISCGRADECOMPL.CODDISC

INNER JOIN SDISCIPLINA (NOLOCK) ON
       STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA
       AND STURMADISC.CODDISC = SDISCIPLINA.CODDISC
       AND SDISCGRADE.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA
       AND SDISCGRADE.CODDISC = SDISCIPLINA.CODDISC   

INNER JOIN SHORARIOTURMA (NOLOCK) ON
       STURMADISC.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
       AND STURMADISC.IDTURMADISC = SHORARIOTURMA.IDTURMADISC

INNER JOIN SHORARIO (NOLOCK) ON
       SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
       AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
            SUM(CASE WHEN FREQ1.PRESENCA IS NULL
            THEN
                0
            ELSE
                1
            END) AS  AUSENCIA 

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                   AND SMATRICULA.RA = FREQ1.RA
                   AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 1
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))    

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA)  AS JAN ON

     STURMADISC.CODTURMA = JAN.CODTURMA 
     AND SMATRICULA.RA = JAN.RA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(PLAN1.CODHOR) AS QT_AULAS

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 1
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))    

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA)  AS JAN1 ON

     STURMADISC.CODTURMA = JAN1.CODTURMA 
     AND SMATRICULA.RA = JAN1.RA


LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
            SUM(CASE WHEN FREQ1.PRESENCA IS NULL
            THEN
                0
            ELSE
                1
            END) AS  AUSENCIA 

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            INNER JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                   AND SMATRICULA.RA = FREQ1.RA
                   AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 2
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))    

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS FEV ON

    SMATRICULA.RA = FEV.RA AND
    STURMADISC.CODTURMA = FEV.CODTURMA


LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(PLAN1.CODHOR) AS QT_AULAS

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 2
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS FEV1 ON

    SMATRICULA.RA = FEV1.RA AND
    STURMADISC.CODTURMA = FEV1.CODTURMA


LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
            SUM(CASE WHEN FREQ1.PRESENCA IS NULL
            THEN
                0
            ELSE
                1
            END) AS  AUSENCIA 

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                   AND SMATRICULA.RA = FREQ1.RA
                   AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 3
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS MAR ON

    SMATRICULA.RA = MAR.RA AND
    STURMADISC.CODTURMA = MAR.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

            FROM SPLANOAULA PLAN1 (NOLOCK)

            INNER JOIN SMATRICULA (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

            INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                    SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            INNER JOIN SHORARIO (NOLOCK) ON
                   SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                   AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                   AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                   AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 3
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS MAR1 ON

    SMATRICULA.RA = MAR1.RA AND
    STURMADISC.CODTURMA = MAR1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 4
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS ABR ON

    SMATRICULA.RA = ABR.RA AND
    STURMADISC.CODTURMA = ABR.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

            INNER JOIN SMATRICPL (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                   AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                   AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                   AND SMATRICULA.RA = SMATRICPL.RA

            INNER JOIN STURMADISC (NOLOCK) ON
                   SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                   AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                   AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                   AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                   
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 4
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS ABR1 ON

    SMATRICULA.RA = ABR1.RA AND
    STURMADISC.CODTURMA = ABR1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 5
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS MAI ON

    SMATRICULA.RA = MAI.RA AND
    STURMADISC.CODTURMA = MAI.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 5
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS MAI1 ON

    SMATRICULA.RA = MAI1.RA AND
    STURMADISC.CODTURMA = MAI1.CODTURMA


LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 6
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS JUN ON

    SMATRICULA.RA = JUN.RA AND
    STURMADISC.CODTURMA = JUN.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
            INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
                   STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                   AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
            
            INNER JOIN SCURSO (NOLOCK) ON 
                    SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                    AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 6
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS JUN1 ON

    SMATRICULA.RA = JUN1.RA AND
    STURMADISC.CODTURMA = JUN1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 7
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS JUL ON

    SMATRICULA.RA = JUL.RA AND
    STURMADISC.CODTURMA = JUL.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 7
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS JUL1 ON

    SMATRICULA.RA = JUL1.RA AND
    STURMADISC.CODTURMA = JUL1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) =8
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA)AS AGO ON

    SMATRICULA.RA = AGO.RA AND
    STURMADISC.CODTURMA = AGO.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) =8
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA)AS AGO1 ON

    SMATRICULA.RA = AGO1.RA AND
    STURMADISC.CODTURMA = AGO1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA,
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
               STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
               AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 9
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS SETE ON

    SMATRICULA.RA = SETE.RA AND
    STURMADISC.CODTURMA = SETE.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 9
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS SETE1 ON

    SMATRICULA.RA = SETE1.RA AND
    STURMADISC.CODTURMA = SETE1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 10
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS OUTU ON

    SMATRICULA.RA = OUTU.RA AND
    STURMADISC.CODTURMA = OUTU.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 10
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS OUTU1 ON

    SMATRICULA.RA = OUTU1.RA AND
    STURMADISC.CODTURMA = OUTU1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 11
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS NOV ON

    SMATRICULA.RA = NOV.RA AND
    STURMADISC.CODTURMA = NOV.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 11
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS NOV1 ON

    SMATRICULA.RA = NOV1.RA AND
    STURMADISC.CODTURMA = NOV1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 12
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS DEZ ON

    SMATRICULA.RA = DEZ.RA AND
    STURMADISC.CODTURMA = DEZ.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND MONTH(PLAN1.DATA) = 12
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

            GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA) AS DEZ1 ON

    SMATRICULA.RA = DEZ1.RA AND
    STURMADISC.CODTURMA = DEZ1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA) AS ANO, 
        SUM(CASE WHEN FREQ1.PRESENCA IS NULL
        THEN
            0
        ELSE
            1
        END) AS  AUSENCIA 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

        LEFT JOIN SFREQUENCIA FREQ1 (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = FREQ1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = FREQ1.IDTURMADISC
                AND SMATRICULA.RA = FREQ1.RA
                AND FREQ1.DATA = PLAN1.DATA AND FREQ1.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))
        



        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA)) AS ANO ON

    SMATRICULA.RA = ANO.RA AND
    STURMADISC.CODTURMA = ANO.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA) AS ANO, COUNT(SHORARIO.CODHOR) AS QT_AULAS

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))


        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA)) AS ANO1 ON

    SMATRICULA.RA = ANO1.RA AND
    STURMADISC.CODTURMA = ANO1.CODTURMA

LEFT JOIN (SELECT SMATRICULA.RA, STURMADISC.CODTURMA, COUNT(SHORARIO.CODHOR) AS QT_AULAS_ANO 

        FROM SPLANOAULA PLAN1 (NOLOCK)

        INNER JOIN SMATRICULA (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SMATRICULA.IDTURMADISC = PLAN1.IDTURMADISC

        INNER JOIN SMATRICPL (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
                AND SMATRICULA.IDPERLET = SMATRICPL.IDPERLET
                AND SMATRICULA.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
                AND SMATRICULA.RA = SMATRICPL.RA

        INNER JOIN STURMADISC (NOLOCK) ON
                SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
                AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
                AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
                
        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
           STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
        
        INNER JOIN SCURSO (NOLOCK) ON 
                SCURSO.CODCOLIGADA=SHABILITACAOFILIAL.CODCOLIGADA
                AND SCURSO.CODCURSO=SHABILITACAOFILIAL.CODCURSO

        INNER JOIN SHORARIOTURMA (NOLOCK) ON       
                SHORARIOTURMA.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIOTURMA.IDHORARIOTURMA = PLAN1.IDHORARIOTURMA

        INNER JOIN SHORARIO (NOLOCK) ON
                SHORARIO.CODCOLIGADA = SHORARIOTURMA.CODCOLIGADA
                AND SHORARIO.CODHOR = SHORARIOTURMA.CODHOR
                AND SHORARIO.CODCOLIGADA = PLAN1.CODCOLIGADA
                AND SHORARIO.CODHOR = PLAN1.CODHOR

            WHERE SMATRICULA.CODCOLIGADA =  @CODCOLIGADA 
            AND SMATRICPL.CODFILIAL = @CODFILIAL
            AND STURMADISC.CODTURMA = @CODTURMA
            AND YEAR(PLAN1.DATA) = @ANO
            AND PLAN1.DATA < GETDATE()
            AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2))
            OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))

        GROUP BY SMATRICULA.RA, STURMADISC.CODTURMA, YEAR(PLAN1.DATA)) AS AULAS ON

    SMATRICULA.RA = AULAS.RA AND
    STURMADISC.CODTURMA = AULAS.CODTURMA

WHERE SMATRICULA.CODCOLIGADA = @CODCOLIGADA 
AND SMATRICPL.CODFILIAL = @CODFILIAL
AND STURMADISC.CODTURMA = @CODTURMA
AND ((SCURSO.CODTIPOCURSO = 1 AND SMATRICULA.CODSTATUS IN (2,9,10,11,12) AND SMATRICULA.TIPOMAT IN (1,2) AND ISNULL(SDISCGRADECOMPL.DISCDIVERS,0) = 0)
OR (SCURSO.CODTIPOCURSO = 3 AND SMATRICULA.CODSTATUS IN (42,39,75)))
1342542.95404.583.272.4440332
SELECT "Tbl1008"."CODMUNICIPIO" "Col1038","Tbl1008"."CODETDMUNICIPIO" "Col1039","Tbl1008"."NOMEMUNICIPIO" "Col1040" FROM "CorporeRM"."dbo"."gmunicipio" "Tbl1008"
70541.867740.85525.217502.95511208779
SELECT SHORARIO.CODCOLIGADA,
                                 SHORARIO.CODHOR,
                                 SHORARIO.DIASEMANA,
                                 SHORARIO.HORAINICIAL,
                                 SHORARIO.HORAFINAL,
                                 STURMADISC.IDTURMADISC,
                                 STURMADISC.CODTURMA,
                                 SDISCIPLINA.NOMEREDUZIDO,
                                 SHORARIOTURMA.IDHORARIOTURMA,
                                 SHORARIOTURMA.DATAINICIAL,
                                 SHORARIOTURMA.DATAFINAL,
                                 SHORARIOTURMA.CODSUBTURMA,
                                 SDISCIPLINA.CODDISC,
                                 SDISCIPLINA.NOME,
                                 SCURSO.NOME                                                     CURSO,
                                 SHABILITACAO.NOME                                               HABILITACAO,
                                 STURMADISC.TIPO,
                                 COALESCE(SHORARIOTURMA.URLAULAONLINE, STURMADISC.URLAULAONLINE) URLAULAONLINE,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOHORARIOTURMA.CODPREDIO, ' - '), PREDIOHORARIOTURMA.NOME)
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOTURMADISC.CODPREDIO, ' - '), PREDIOTURMADISC.NOME)
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN CONCAT(CONCAT(PREDIOTURMA.CODPREDIO, ' - '), PREDIOTURMA.NOME)
                                         END
                                     END
                                 END                                                             AS NOMEPREDIO,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN
                                     CASE
                                       WHEN BLOCOHORARIOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOHORARIOTURMA.CODBLOCO, ' - '), BLOCOHORARIOTURMA.DESCRICAO)
                                       ELSE BLOCOHORARIOTURMA.CODBLOCO
                                     END
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN
                                         CASE
                                           WHEN BLOCOTURMADISC.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOTURMADISC.CODBLOCO, ' - '), BLOCOTURMADISC.DESCRICAO)
                                           ELSE BLOCOTURMADISC.CODBLOCO
                                         END
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN
                                             CASE
                                               WHEN BLOCOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(BLOCOTURMA.CODBLOCO, ' - '), BLOCOTURMA.DESCRICAO)
                                               ELSE BLOCOTURMA.CODBLOCO
                                             END
                                         END
                                     END
                                 END                                                             AS NOMEBLOCO,
                                 CASE
                                   WHEN PREDIOHORARIOTURMA.CODPREDIO IS NOT NULL
                                         OR BLOCOHORARIOTURMA.CODBLOCO IS NOT NULL
                                         OR SALAHORARIOTURMA.CODSALA IS NOT NULL THEN
                                     CASE
                                       WHEN SALAHORARIOTURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALAHORARIOTURMA.CODSALA, ' - '), SALAHORARIOTURMA.DESCRICAO)
                                       ELSE SALAHORARIOTURMA.CODSALA
                                     END
                                   ELSE
                                     CASE
                                       WHEN PREDIOTURMADISC.CODPREDIO IS NOT NULL
                                             OR BLOCOTURMADISC.CODBLOCO IS NOT NULL
                                             OR SALATURMADISC.CODSALA IS NOT NULL THEN
                                         CASE
                                           WHEN SALATURMADISC.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALATURMADISC.CODSALA, ' - '), SALATURMADISC.DESCRICAO)
                                           ELSE SALATURMADISC.CODSALA
                                         END
                                       ELSE
                                         CASE
                                           WHEN PREDIOTURMA.CODPREDIO IS NOT NULL
                                                 OR BLOCOTURMA.CODBLOCO IS NOT NULL
                                                 OR SALATURMA.CODSALA IS NOT NULL THEN
                                             CASE
                                               WHEN SALATURMA.DESCRICAO IS NOT NULL THEN CONCAT(CONCAT(SALATURMA.CODSALA, ' - '), SALATURMA.DESCRICAO)
                                               ELSE SALATURMA.CODSALA
                                             END
                                         END
                                     END
                                 END                                                             AS NOMESALA
                         FROM   SHORARIOTURMA (NOLOCK)
                                 JOIN STURMADISC (NOLOCK)
                                   ON ( SHORARIOTURMA.CODCOLIGADA = STURMADISC.CODCOLIGADA
                                        AND SHORARIOTURMA.IDTURMADISC = STURMADISC.IDTURMADISC )
                                 JOIN STURMA (NOLOCK)
                                   ON STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA
                                      AND STURMADISC.CODFILIAL = STURMA.CODFILIAL
                                      AND STURMADISC.IDPERLET = STURMA.IDPERLET
                                      AND STURMADISC.CODTURMA = STURMA.CODTURMA
                                 JOIN SHORARIOPROFESSOR (NOLOCK)
                                                     ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIOPROFESSOR.CODCOLIGADA 
                                                          AND SHORARIOTURMA.IDHORARIOTURMA = SHORARIOPROFESSOR.IDHORARIOTURMA )
                                                 JOIN SPROFESSORTURMA (NOLOCK)
                                                   ON  ( SHORARIOPROFESSOR.CODCOLIGADA = SPROFESSORTURMA.CODCOLIGADA 
                                                        AND SHORARIOPROFESSOR.IDPROFESSORTURMA = SPROFESSORTURMA.IDPROFESSORTURMA)
                                 JOIN SHORARIO (NOLOCK)
                                   ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIO.CODCOLIGADA
                                        AND SHORARIOTURMA.CODHOR = SHORARIO.CODHOR )
                                 JOIN SPLETIVO (NOLOCK)
                                   ON ( SPLETIVO.CODCOLIGADA = STURMADISC.CODCOLIGADA
                                        AND SPLETIVO.IDPERLET = STURMADISC.IDPERLET )
                                 JOIN SDISCIPLINA (NOLOCK)
                                   ON ( STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA
                                        AND STURMADISC.CODDISC = SDISCIPLINA.CODDISC )
                                 JOIN SPROFESSOR (NOLOCK)
                                   ON ( SPROFESSORTURMA.CODCOLIGADA = SPROFESSOR.CODCOLIGADA
                                        AND SPROFESSORTURMA.CODPROF = SPROFESSOR.CODPROF )
                                 JOIN PPESSOA (NOLOCK)
                                   ON ( SPROFESSOR.CODPESSOA = PPESSOA.CODIGO )
                                 LEFT JOIN SHABILITACAOFILIAL (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
                                           AND STURMADISC.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
                                 LEFT JOIN SHABILITACAO (NOLOCK)
                                        ON SHABILITACAOFILIAL.CODCOLIGADA = SHABILITACAO.CODCOLIGADA
                                           AND SHABILITACAOFILIAL.CODCURSO = SHABILITACAO.CODCURSO
                                           AND SHABILITACAOFILIAL.CODHABILITACAO = SHABILITACAO.CODHABILITACAO
                                 LEFT JOIN SCURSO (NOLOCK)
                                        ON SHABILITACAOFILIAL.CODCOLIGADA = SCURSO.CODCOLIGADA
                                           AND SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO
                                 LEFT JOIN SHORARIOTURMA SHORARIOSUBTUR(NOLOCK)
                                        ON ( SHORARIOTURMA.CODCOLIGADA = SHORARIOSUBTUR.CODCOLIGADA
                                             AND SHORARIOTURMA.IDHORARIOTURMA = SHORARIOSUBTUR.IDHORARIOTURMAVINC )
                                 LEFT JOIN SSALA SALAHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = SALAHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = SALAHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = SALAHORARIOTURMA.CODPREDIO
                                           AND SHORARIOTURMA.CODSALA = SALAHORARIOTURMA.CODSALA
                                           AND SHORARIOTURMA.CODBLOCO = SALAHORARIOTURMA.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = BLOCOHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = BLOCOHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = BLOCOHORARIOTURMA.CODPREDIO
                                           AND SHORARIOTURMA.CODBLOCO = BLOCOHORARIOTURMA.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOHORARIOTURMA (NOLOCK)
                                        ON SHORARIOTURMA.CODCOLIGADA = PREDIOHORARIOTURMA.CODCOLIGADA
                                           AND SHORARIOTURMA.CODFILIAL = PREDIOHORARIOTURMA.CODFILIAL
                                           AND SHORARIOTURMA.CODPREDIO = PREDIOHORARIOTURMA.CODPREDIO
                                 LEFT JOIN SSALA SALATURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = SALATURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = SALATURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = SALATURMADISC.CODPREDIO
                                           AND STURMADISC.CODSALA = SALATURMADISC.CODSALA
                                           AND STURMADISC.CODBLOCO = SALATURMADISC.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOTURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = BLOCOTURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = BLOCOTURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = BLOCOTURMADISC.CODPREDIO
                                           AND STURMADISC.CODBLOCO = BLOCOTURMADISC.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOTURMADISC (NOLOCK)
                                        ON STURMADISC.CODCOLIGADA = PREDIOTURMADISC.CODCOLIGADA
                                           AND STURMADISC.CODFILIAL = PREDIOTURMADISC.CODFILIAL
                                           AND STURMADISC.CODPREDIO = PREDIOTURMADISC.CODPREDIO
                                 LEFT JOIN SSALA SALATURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = SALATURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = SALATURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = SALATURMA.CODPREDIO
                                           AND STURMA.CODSALA = SALATURMA.CODSALA
                                           AND STURMA.CODBLOCO = SALATURMA.CODBLOCO
                                 LEFT JOIN SBLOCO BLOCOTURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = BLOCOTURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = BLOCOTURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = BLOCOTURMA.CODPREDIO
                                           AND STURMA.CODBLOCO = BLOCOTURMA.CODBLOCO
                                 LEFT JOIN SPREDIO PREDIOTURMA (NOLOCK)
                                        ON STURMA.CODCOLIGADA = PREDIOTURMA.CODCOLIGADA
                                           AND STURMA.CODFILIAL = PREDIOTURMA.CODFILIAL
                                           AND STURMA.CODPREDIO = PREDIOTURMA.CODPREDIO
                          WHERE  SPLETIVO.ENCERRADO = 'N'
                                 AND SPLETIVO.EXIBIRPORTAL = 'S'
                                 AND STURMADISC.ATIVA = 'S'
                                 AND SPROFESSORTURMA.CODCOLIGADA = @CODCOLIGADA
                                 AND PPESSOA.CODUSUARIO = @CODUSUARIO
                                      AND STURMADISC.CODFILIAL = 951 AND STURMADISC.CODTIPOCURSO  = 1 
                                     /*AND*/ 
                                      AND ((STURMADISC.GERENCIAL = 'S') OR 
                                                                                    (STURMADISC.IDTURMADISC NOT IN 
                                                                       (SELECT IDTURMADISCGERENCIADA 
                                                                                                        FROM STURMADISCGERENCIADA (NOLOCK)
                                                                                                        WHERE CODCOLIGADA = 3)))ORDER BY SHORARIO.HORAINICIAL,
                                  SHORARIO.HORAFINAL,
                                  SHORARIO.DIASEMANA,
                                  SHORARIOTURMA.CODSUBTURMA,
                                  SHORARIOTURMA.DATAINICIAL
3014529.33175.631965.35652.0715361042
SELECT DISTINCT 
                             SALUNO.RA,
                             SALUNO.CODCOLIGADA,
                             NULL                                     CODFILIAL,
                                           NULL                                     CODTIPOCURSO,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)   NOMEALUNO,
                             PPESSOA.DTNASCIMENTO                     DTNASCIMENTOALUNO,
                             PPESSOA.CODUSUARIO                       CODUSUARIOALUNO,
                             PPESSOA.CODIGO                           CODPESSOAUSUARIO,
                             NULL                                     CODUSUARIOPAI,
                             NULL                                     NOMEPAI,
                             NULL                                     CODUSUARIOMAE,
                             NULL                                     NOMEMAE,
                             NULL                                     CODUSUARIORACA,
                             NULL                                     NOMERACA,
                             NULL                                     CODUSUARIORESPFINANCEIRO,
                             NULL                                     NOMERESPFINANCEIRO,
                             NULL                                     CODCOLIGADACFO,
                             NULL                                     CODCFO,
                             NULL                                     CODUSUARIORESPCONTRATO,
                             NULL                                     NOMERESPCONTRATO,
                             NULL                                     CODUSUARIORESPPARCELA,
                             NULL                                     NOMERESPPARCELA,
                             NULL                                     ACESSOACADEMICOSCFO,
                             'S'        DADOSACADEMICOS,
                             'S'        DADOSFINANCEIROS,
                             NULL                                     IDIMAGEMPAI,
                             NULL                                     IDIMAGEMMAE,
                             NULL                                     IDIMAGEMACAD,
                             NULL                                     IDIMAGEMFIN,
                             NULL                                     IDIMAGEMCONT,
                             PPESSOA.IDIMAGEM                         IDIMAGEM,
                             SALUNO.CODCOLCFO CODCOLCFOALUNO,
                             SALUNO.CODCFO CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                                           LEFT JOIN SMATRICPL (NOLOCK)
                                               ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND 
                                                  SMATRICPL.RA = SALUNO.RA
                      WHERE  (PPESSOA.CODUSUARIO = @CODUSUARIO) /*AND*/

                      UNION
                      SELECT DISTINCT SALUNO.RA,
                             SALUNO.CODCOLIGADA,
                             NULL                                             CODFILIAL,
                                           NULL                                             CODTIPOCURSO,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)           NOMEALUNO,
                             PPESSOA.DTNASCIMENTO                             DTNASCIMENTOALUNO,
                             PPESSOA.CODUSUARIO                               CODUSUARIOALUNO,
                             PPESSOARACA.CODIGO                               CODPESSOAUSUARIO,
                             NULL                                             CODUSUARIOPAI,
                             NULL                                             NOMEPAI,
                             NULL                                             CODUSUARIOMAE,
                             NULL                                             NOMEMAE,
                             PPESSOARACA.CODUSUARIO                           CODUSUARIORACA,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOARACA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOARACA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOARACA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOARACA.NOMESOCIAL))
                  END)   NOMERACA,
                             NULL                                             CODUSUARIORESPFINANCEIRO,
                             NULL                                             NOMERESPFINANCEIRO,
                             NULL                                             CODCOLIGADACFO,
                             NULL                                             CODCFO,
                             NULL                                             CODUSUARIORESPCONTRATO,
                             NULL                                             NOMERESPCONTRATO,
                             NULL                                             CODUSUARIORESPPARCELA,
                             NULL                                             NOMERESPPARCELA,
                             NULL                                             ACESSOACADEMICOSCFO,
                             'S'                DADOSACADEMICOS,
                             CASE
                                WHEN SCONTRATOACESSOS.CODPESSOA IS NOT NULL THEN 'S'
                                ELSE 'N'
                             END DADOSFINANCEIROS,                             
                             NULL                                             IDIMAGEMPAI,
                             NULL                                             IDIMAGEMMAE,
                             PPESSOARACA.IDIMAGEM                             IDIMAGEMACAD,
                             NULL                                             IDIMAGEMFIN,
                             NULL                                             IDIMAGEMCONT,
                             PPESSOA.IDIMAGEM                                 IDIMAGEM,
                             SALUNO.CODCOLCFO                                 CODCOLCFOALUNO,
                             SALUNO.CODCFO                                    CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             LEFT JOIN PPESSOA PPESSOARACA (NOLOCK)
                                    ON (SALUNO.CODPESSOARACA = PPESSOARACA.CODIGO)
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                             LEFT JOIN SCONTRATOACESSOS (NOLOCK)
                               ON SALUNO.RA = SCONTRATOACESSOS.RA AND
                                  SALUNO.CODPESSOARACA = SCONTRATOACESSOS.CODPESSOA AND                                   
                                  SCONTRATOACESSOS.TIPORELACIONAMENTO = 'A'                                                     
                                           LEFT JOIN SMATRICPL (NOLOCK)
                                               ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND 
                                                  SMATRICPL.RA = SALUNO.RA
                      WHERE  (PPESSOARACA.CODUSUARIO = @CODUSUARIO
                               AND (PPESSOARACA.CODIGO <> PPESSOA.CODIGO
                                      OR PPESSOARACA.CODIGO IS NULL)) /*AND*/

                      UNION
                      SELECT DISTINCT SALUNO.RA,
                                      SALUNO.CODCOLIGADA                        CODCOLIGADA,
                                      NULL                                      CODFILIAL,
                                      NULL                                      CODTIPOCURSO,
                                       (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)    NOMEALUNO,
                                      PPESSOA.DTNASCIMENTO                      DTNASCIMENTOALUNO,
                                      PPESSOA.CODUSUARIO                        CODUSUARIOALUNO,
                                      PPESSOAFILIACAO.CODIGO                    CODPESSOAUSUARIO,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'P' THEN PPESSOAFILIACAO.CODUSUARIO
                                        ELSE NULL
                                      END                    CODUSUARIOPAI,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'P' THEN  (CASE
                     WHEN (RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOAFILIACAO.NOME))
                     ELSE RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL))
                  END) 
                                        ELSE NULL
                                      END                    NOMEPAI,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'M' THEN PPESSOAFILIACAO.CODUSUARIO
                                        ELSE NULL
                                      END                    CODUSUARIOMAE,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'M' THEN  (CASE
                     WHEN (RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOAFILIACAO.NOME))
                     ELSE RTRIM(LTRIM(PPESSOAFILIACAO.NOMESOCIAL))
                  END) 
                                        ELSE NULL
                                      END                    NOMEMAE,
                                      NULL                   CODUSUARIORACA,
                                      NULL                   NOMERACA,
                                      NULL                   CODUSUARIORESPFINANCEIRO,
                                      NULL                   NOMERESPFINANCEIRO,
                                      NULL                   CODCOLIGADACFO,
                                      NULL                   CODCFO,
                                      NULL                   CODUSUARIORESPCONTRATO,
                                      NULL                   NOMERESPCONTRATO,
                                      NULL                   CODUSUARIORESPPARCELA,
                                      NULL                   NOMERESPPARCELA,
                                      NULL                   ACESSOACADEMICOSCFO,
                                      COALESCE((SFILIACAO.DADOSACADEMICOS), 'N')  DADOSACADEMICOS,
                                      CASE
                                          WHEN SCONTRATOACESSOS.CODPESSOA IS NOT NULL THEN 'S'
                                          ELSE 'N'
                                      END DADOSFINANCEIROS,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'P' THEN PPESSOAFILIACAO.IDIMAGEM
                                        ELSE NULL
                                      END                    IDIMAGEMPAI,
                                      CASE
                                        WHEN VFILIACAO.TIPORELACIONAMENTO = 'M' THEN PPESSOAFILIACAO.IDIMAGEM
                                        ELSE NULL
                                      END                    IDIMAGEMMAE,
                                      NULL                   IDIMAGEMACAD,
                                      NULL                   IDIMAGEMFIN,
                                      NULL                   IDIMAGEMCONT,
                                      PPESSOA.IDIMAGEM       IDIMAGEM,
                                      SALUNO.CODCOLCFO CODCOLCFOALUNO,
                                      SALUNO.CODCFO CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                             LEFT JOIN VFILIACAO (NOLOCK)
                                       LEFT JOIN PPESSOA PPESSOAFILIACAO (NOLOCK)
                                              ON PPESSOAFILIACAO.CODIGO = VFILIACAO.CODPESSOAFILIACAO
                                                 AND VFILIACAO.TIPORELACIONAMENTO IN ('P', 'M')
                                    ON VFILIACAO.CODPESSOAFILHO = SALUNO.CODPESSOA
                             LEFT JOIN SFILIACAO (NOLOCK)
                                    ON SFILIACAO.CODFILIACAO = VFILIACAO.CODFILIACAO                             
                             LEFT JOIN SCONTRATOACESSOS (NOLOCK)
                                    ON SCONTRATOACESSOS.RA = SALUNO.RA AND
                                       SCONTRATOACESSOS.CODPESSOA = VFILIACAO.CODPESSOAFILIACAO AND                                       
                                       SCONTRATOACESSOS.TIPORELACIONAMENTO IN ('P', 'M')                             
                      WHERE  (PPESSOAFILIACAO.CODUSUARIO = @CODUSUARIO) /*AND*/

                      UNION
                      SELECT DISTINCT SALUNO.RA,
                             SALUNO.CODCOLIGADA                         CODCOLIGADA,
                             NULL                                       CODFILIAL,
                             NULL                                       CODTIPOCURSO,
                              (CASE
                     WHEN (RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) IS NULL OR RTRIM(LTRIM(PPESSOA.NOMESOCIAL)) = '') THEN RTRIM(LTRIM(PPESSOA.NOME))
                     ELSE RTRIM(LTRIM(PPESSOA.NOMESOCIAL))
                  END)     NOMEALUNO,
                             PPESSOA.DTNASCIMENTO                       DTNASCIMENTOALUNO,
                             PPESSOA.CODUSUARIO                         CODUSUARIOALUNO,
                             NULL                                       CODPESSOAUSUARIO,
                             NULL                                       CODUSUARIOPAI,
                             NULL                                       NOMEPAI,
                             NULL                                       CODUSUARIOMAE,
                             NULL                                       NOMEMAE,
                             NULL                                       CODUSUARIORACA,
                             NULL                                       NOMERACA,
                             FCFOALUNO.CODUSUARIOACESSO                 CODUSUARIORESPFINANCEIRO,
                             FCFOALUNO.NOMEFANTASIA                     NOMERESPFINANCEIRO,
                             FCFOALUNO.CODCOLIGADA                      CODCOLIGADACFO,
                             FCFOALUNO.CODCFO                           CODCFO,
                             NULL                                       CODUSUARIORESPCONTRATO,
                             NULL                                       NOMERESPCONTRATO,
                             NULL                                       CODUSUARIORESPPARCELA,
                             NULL                                       NOMERESPPARCELA,
                             SALUNO.DADOSACADEMICOSCFO                  ACESSOACADEMICOSCFO,
                             'N'          DADOSACADEMICOS,
                             CASE
                                WHEN SCONTRATOACESSOS.CODCFO IS NOT NULL THEN 'S'
                                ELSE 'N'
                             END DADOSFINANCEIROS,
                             NULL                                       IDIMAGEMPAI,
                             NULL                                       IDIMAGEMMAE,
                             NULL                                       IDIMAGEMACAD,
                             NULL                                       IDIMAGEMFIN,
                             NULL                                       IDIMAGEMCONT,
                             PPESSOA.IDIMAGEM                           IDIMAGEM,
                             SALUNO.CODCOLCFO                           CODCOLCFOALUNO,
                             SALUNO.CODCFO                              CODCFOALUNO
                      FROM   SALUNO (NOLOCK)
                             JOIN SPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = SPESSOA.CODIGO
                             JOIN PPESSOA (NOLOCK)
                               ON SALUNO.CODPESSOA = PPESSOA.CODIGO
                             LEFT JOIN FCFO FCFOALUNO (NOLOCK)
                                    ON SALUNO.CODCOLCFO = FCFOALUNO.CODCOLIGADA
                                       AND SALUNO.CODCFO = FCFOALUNO.CODCFO
                             LEFT JOIN SCONTRATOACESSOS (NOLOCK)
                                    ON SCONTRATOACESSOS.RA = SALUNO.RA AND
                                       SCONTRATOACESSOS.CODCOLCFO = FCFOALUNO.CODCOLIGADA AND
                                       SCONTRATOACESSOS.CODCFO = FCFOALUNO.CODCFO AND
                                       SCONTRATOACESSOS.TIPORELACIONAMENTO = 'F'
                                           LEFT JOIN SMATRICPL (NOLOCK)
                                               ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND 
                                                  SMATRICPL.RA = SALUNO.RA
                      WHERE  (FCFOALUNO.CODUSUARIOACESSO = @CODUSUARIO
                              AND (FCFOALUNO.CODUSUARIOACESSO <> PPESSOA.CODUSUARIO
                                    OR PPESSOA.CODUSUARIO IS NULL))
237467.521972.65425.001793.26847641150
SELECT DISTINCT
 SDISCIPLINA.NOME AS DISCIPLINA,
 SNOTAS_ATIVIDADE1.NOTA AS TRABALHO,
 SNOTAS_ATIVIDADE2.NOTA AS PROVA,
 SNOTAS_ATIVIDADE3.NOTA AS PROVA2,
 SNOTAETAPA_UNICA.NOTAFALTA AS TOTAL_ETAPA,
 FALTAS.QTFALTAS AS FALTAS_ETAPA,
 /*SNOTAETAPA_UNICAFALTAS.NOTAFALTA AS FALTAS_ETAPA,*/
 SNOTAETAPA_CONSDECLAS.NOTAFALTA AS CONS_CLASSE,
 SNOTAETAPA_RESFINAL.NOTAFALTA AS RES_FINAL,
 CASE WHEN SMATRICULA.CODSTATUSRES = 7 THEN 'APROVADO'
 WHEN SMATRICULA.CODSTATUSRES = 10 THEN 'REPROVADO'
 WHEN SMATRICULA.CODSTATUSRES = 39 THEN 'REPROVADO POR FREQUENCIA'
 END STATUSFINAL
FROM
SMATRICULA (NOLOCK)
INNER JOIN STURMADISC (NOLOCK) ON
    SMATRICULA.CODCOLIGADA = STURMADISC.CODCOLIGADA
    AND SMATRICULA.IDHABILITACAOFILIAL = STURMADISC.IDHABILITACAOFILIAL
    AND SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
    AND SMATRICULA.IDPERLET = STURMADISC.IDPERLET
 
INNER JOIN STURMA (NOLOCK) ON 
    STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA AND
    STURMADISC.CODFILIAL = STURMA.CODFILIAL AND     
    STURMADISC.CODTURMA = STURMA.CODTURMA AND
    STURMADISC.IDPERLET = STURMA.IDPERLET

INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON 
    STURMA.CODCOLIGADA = STURMA.CODCOLIGADA AND
    STURMA.IDHABILITACAOFILIAL = STURMA.IDHABILITACAOFILIAL    
    
INNER JOIN SCURSO (NOLOCK) ON 
    SHABILITACAOFILIAL.CODCOLIGADA = SCURSO.CODCOLIGADA AND
    SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO        

 INNER JOIN SDISCIPLINA (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SDISCIPLINA.CODCOLIGADA
 AND STURMADISC.CODDISC = SDISCIPLINA.CODDISC
 
 LEFT JOIN SNOTAS SNOTAS_ATIVIDADE1 (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAS_ATIVIDADE1.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAS_ATIVIDADE1.IDTURMADISC
 AND SMATRICULA.RA = SNOTAS_ATIVIDADE1.RA
 AND SNOTAS_ATIVIDADE1.CODPROVA = 1
 AND SNOTAS_ATIVIDADE1.CODETAPA = 1
 AND SNOTAS_ATIVIDADE1.TIPOETAPA = 'N'
 LEFT JOIN SNOTAS SNOTAS_ATIVIDADE2 (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAS_ATIVIDADE2.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAS_ATIVIDADE2.IDTURMADISC
 AND SMATRICULA.RA = SNOTAS_ATIVIDADE2.RA
 AND SNOTAS_ATIVIDADE2.CODPROVA = 2
 AND SNOTAS_ATIVIDADE2.CODETAPA = 1
 AND SNOTAS_ATIVIDADE2.TIPOETAPA = 'N'
 LEFT JOIN SNOTAS SNOTAS_ATIVIDADE3 (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAS_ATIVIDADE3.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAS_ATIVIDADE3.IDTURMADISC
 AND SMATRICULA.RA = SNOTAS_ATIVIDADE3.RA
 AND SNOTAS_ATIVIDADE3.CODPROVA = 3
 AND SNOTAS_ATIVIDADE3.CODETAPA = 1
 AND SNOTAS_ATIVIDADE3.TIPOETAPA = 'N'
 LEFT JOIN SNOTAETAPA SNOTAETAPA_UNICA (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_UNICA.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_UNICA.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_UNICA.RA
 AND SNOTAETAPA_UNICA.CODETAPA = 1
 AND SNOTAETAPA_UNICA.TIPOETAPA = 'N'
 LEFT JOIN SNOTAETAPA SNOTAETAPA_CONSDECLAS (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_CONSDECLAS.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_CONSDECLAS.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_CONSDECLAS.RA
 AND SNOTAETAPA_CONSDECLAS.CODETAPA = 2
 AND SNOTAETAPA_CONSDECLAS.TIPOETAPA = 'N'
 LEFT JOIN SNOTAETAPA SNOTAETAPA_RESFINAL (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_RESFINAL.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_RESFINAL.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_RESFINAL.RA
 AND SNOTAETAPA_RESFINAL.CODETAPA IN (5,6,10)
 AND SNOTAETAPA_RESFINAL.TIPOETAPA = 'N'
 LEFT JOIN SNOTAETAPA SNOTAETAPA_UNICAFALTAS (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_UNICAFALTAS.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_UNICAFALTAS.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_UNICAFALTAS.RA
 AND SNOTAETAPA_UNICAFALTAS.CODETAPA = 31
 AND SNOTAETAPA_UNICAFALTAS.TIPOETAPA = 'F'
 
 /*LEFT JOIN SNOTAS SNOTAS_ATIVIDADE1 (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAS_ATIVIDADE1.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAS_ATIVIDADE1.IDTURMADISC
 AND SMATRICULA.RA = SNOTAS_ATIVIDADE1.RA
 AND SNOTAS_ATIVIDADE1.CODPROVA = 1
 AND SNOTAS_ATIVIDADE1.CODETAPA = 1
 AND SNOTAS_ATIVIDADE1.TIPOETAPA = 'N'
 LEFT JOIN SNOTAS SNOTAS_ATIVIDADE2 (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAS_ATIVIDADE2.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAS_ATIVIDADE2.IDTURMADISC
 AND SMATRICULA.RA = SNOTAS_ATIVIDADE2.RA
 AND SNOTAS_ATIVIDADE2.CODPROVA = 2
 AND SNOTAS_ATIVIDADE2.CODETAPA = 1
 AND SNOTAS_ATIVIDADE2.TIPOETAPA = 'N'
 LEFT JOIN SNOTAS SNOTAS_ATIVIDADE3 (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAS_ATIVIDADE3.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAS_ATIVIDADE3.IDTURMADISC
 AND SMATRICULA.RA = SNOTAS_ATIVIDADE3.RA
 AND SNOTAS_ATIVIDADE3.CODPROVA = 3
 AND SNOTAS_ATIVIDADE3.CODETAPA = 1
 AND SNOTAS_ATIVIDADE3.TIPOETAPA = 'N'
 LEFT JOIN SNOTAETAPA SNOTAETAPA_UNICA (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_UNICA.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_UNICA.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_UNICA.RA
 AND SNOTAETAPA_UNICA.CODETAPA = 1
 AND SNOTAETAPA_UNICA.TIPOETAPA = 'N'
 LEFT JOIN SNOTAETAPA SNOTAETAPA_CONSDECLAS (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_CONSDECLAS.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_CONSDECLAS.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_CONSDECLAS.RA
 AND SNOTAETAPA_CONSDECLAS.CODETAPA = 2
 AND SNOTAETAPA_CONSDECLAS.TIPOETAPA = 'N'
 
  LEFT JOIN SNOTAETAPA SNOTAETAPA_REC_PARCIAL (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_CONSDECLAS.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_CONSDECLAS.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_CONSDECLAS.RA
 AND SNOTAETAPA_CONSDECLAS.CODETAPA = 2
 AND SNOTAETAPA_CONSDECLAS.TIPOETAPA = 'N'
 
 
  LEFT JOIN SNOTAETAPA SNOTAETAPA_RES_PARCIAL (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_CONSDECLAS.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_CONSDECLAS.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_CONSDECLAS.RA
 AND SNOTAETAPA_CONSDECLAS.CODETAPA = 3
 AND SNOTAETAPA_CONSDECLAS.TIPOETAPA = 'N'
 

  LEFT JOIN SNOTAETAPA SNOTAETAPA_REC_AV_FINAL (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_CONSDECLAS.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_CONSDECLAS.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_CONSDECLAS.RA
 AND SNOTAETAPA_CONSDECLAS.CODETAPA = 4
 AND SNOTAETAPA_CONSDECLAS.TIPOETAPA = 'N' 
 
   LEFT JOIN SNOTAETAPA SNOTAETAPA_CC_RES_FINAL (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_CONSDECLAS.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_CONSDECLAS.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_CONSDECLAS.RA
 AND SNOTAETAPA_CONSDECLAS.CODETAPA = 5
 AND SNOTAETAPA_CONSDECLAS.TIPOETAPA = 'N' 
 
    LEFT JOIN SNOTAETAPA SNOTAETAPA_RES_FINAL (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_CONSDECLAS.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_CONSDECLAS.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_CONSDECLAS.RA
 AND SNOTAETAPA_CONSDECLAS.CODETAPA = 6
 AND SNOTAETAPA_CONSDECLAS.TIPOETAPA = 'N' 
 
 
 LEFT JOIN SNOTAETAPA SNOTAETAPA_RES_FINALQUAAPR (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_RESFINAL.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_RESFINAL.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_RESFINAL.RA
 AND SNOTAETAPA_RESFINAL.CODETAPA = 10
 AND SNOTAETAPA_RESFINAL.TIPOETAPA = 'N'
LEFT JOIN SNOTAETAPA SNOTAETAPA_UNICAFALTAS (NOLOCK) ON
  STURMADISC.CODCOLIGADA = SNOTAETAPA_UNICAFALTAS.CODCOLIGADA
 AND STURMADISC.IDTURMADISC = SNOTAETAPA_UNICAFALTAS.IDTURMADISC
 AND SMATRICULA.RA = SNOTAETAPA_UNICAFALTAS.RA
 AND SNOTAETAPA_UNICAFALTAS.CODETAPA = 31
 AND SNOTAETAPA_UNICAFALTAS.TIPOETAPA = 'F'*/
 
LEFT JOIN (SELECT STURMADISC.CODCOLIGADA, SFREQUENCIA.RA, COUNT(IDHORARIOTURMA) AS QTFALTAS, SFREQUENCIA.IDTURMADISC  FROM SFREQUENCIA
            INNER JOIN SMATRICULA (NOLOCK) ON 
                 SFREQUENCIA.CODCOLIGADA = SMATRICULA.CODCOLIGADA AND
                 SFREQUENCIA.IDTURMADISC = SMATRICULA.IDTURMADISC AND
                 SFREQUENCIA.RA = SMATRICULA.RA
            
            INNER JOIN STURMADISC (NOLOCK) ON 
                 STURMADISC.CODCOLIGADA = SMATRICULA.CODCOLIGADA AND
                 STURMADISC.IDTURMADISC = SMATRICULA.IDTURMADISC
                 
            INNER JOIN STURMA (NOLOCK) ON 
                 STURMADISC.CODCOLIGADA = STURMA.CODCOLIGADA AND
                 STURMADISC.CODFILIAL = STURMA.CODFILIAL AND     
                 STURMADISC.CODTURMA = STURMA.CODTURMA AND
                 STURMADISC.IDPERLET = STURMA.IDPERLET
            
            LEFT JOIN SJUSTIFICATIVAFALTA (NOLOCK) ON 
                 SFREQUENCIA.CODCOLIGADA = SJUSTIFICATIVAFALTA.CODCOLIGADA AND
                 SFREQUENCIA.IDJUSTIFICATIVAFALTA = SJUSTIFICATIVAFALTA.IDJUSTIFICATIVAFALTA 
            
            WHERE SJUSTIFICATIVAFALTA.IDJUSTIFICATIVAFALTA IS NULL
            AND SMATRICULA.CODCOLIGADA = @P_CODCOLIGADA
            AND SMATRICULA.IDHABILITACAOFILIAL = @P_IDHABILITACAOFILIAL
            AND SMATRICULA.IDPERLET = @P_IDPERLET
            AND SMATRICULA.RA = @P_RA
            AND SFREQUENCIA.PRESENCA = 'A'
            GROUP BY STURMADISC.CODCOLIGADA, SFREQUENCIA.RA, SFREQUENCIA.IDTURMADISC) AS FALTAS ON
    SMATRICULA.RA = FALTAS.RA AND
    SMATRICULA.CODCOLIGADA = FALTAS.CODCOLIGADA  AND
    SMATRICULA.IDTURMADISC = FALTAS.IDTURMADISC 
 
 
 
WHERE
SMATRICULA.CODCOLIGADA = @P_CODCOLIGADA
AND SMATRICULA.IDHABILITACAOFILIAL = @P_IDHABILITACAOFILIAL
AND SMATRICULA.IDPERLET = @P_IDPERLET
AND SMATRICULA.RA = @P_RA
1368.95368948.85316.30316300.00157357064
INSERT INTO ZSIAUXREGISTRO

/* REGISTRO DE CURSO */
            SELECT    DISTINCT
                    '', 
                    '',
                    '',
                    '', 
                    '',
                    '',
                    '1' + ';;' + 
                    ISNULL(LEFT(VW.CUR_CODCURSO,20),'') + ';' + 
                    ISNULL(LEFT(VW.CUR_NOMECURSO,200),'') + ';' +
                    ISNULL(VW.CUR_LINHAACAO,'') + ';' +
                    ISNULL(VW.CUR_CODMODALIDADECURSO,'') + ';' + 
                    ISNULL(CONVERT(VARCHAR(10),VW.CUR_CODAREA),'') + ';' +
                    ISNULL(CONVERT(VARCHAR(10),VW.CUR_CODEIXOTECNOLOGICO),'') + ';' + 
                    ISNULL(VW.CUR_CURSOMEC,'') + ';' +  
                    ISNULL(VW.CUR_NIVELMEC,'') + ';' +
                    ISNULL(VW.CUR_OCUPACAO,'') + ';' + 
                    ISNULL(VW.CUR_CHESCOLAR,'') + ';' +
                    ISNULL(VW.CUR_CHESTAGIO,'') + ';' + 
                    ISNULL(CONVERT(VARCHAR(15),VW.CUR_DTINICIO,103),'') + ';' + 
                    ISNULL(CONVERT(VARCHAR(15),VW.CUR_DTTERMINO,103),'') + ';' + 
                    ISNULL(CONVERT(VARCHAR(15),VW.CUR_CERT1),'0') + ';' +
                    ISNULL(CONVERT(VARCHAR(15),VW.CUR_CERT2),'0') + ';' +
                    ISNULL(CONVERT(VARCHAR(15),VW.CUR_CERT3),'0') + ';' +
                    ISNULL(CONVERT(VARCHAR(15),VW.CUR_CERT4),'0') + ';' +
                    ISNULL(CONVERT(VARCHAR(15),VW.CUR_CERT5),'0') + ';' +
                    ISNULL(CONVERT(VARCHAR(15),VW.CUR_CERT6),'0') + ';' + 
                    ISNULL(VW.CUR_CHEAD,'') + ';' + 
                    ISNULL(VW.CUR_CODCURSONACIONAL,'') REG_UNICO
            FROM FN_SOLUCAOINTEGRADORA (@CODCOLIGADA_N, @DATA, @DATA2, @CODFILIAL_S, @CODMODALIDADECURSO_S, @CURPRESDIST_S, @CODTURMA_S) VW
            LEFT JOIN ZSIPRODUCAOMESANTERIOR(NOLOCK)
                  ON ZSIPRODUCAOMESANTERIOR.MATRICULA = VW.MAT_MATRICULA
                  AND REFERENCIA = DATEADD(MONTH,-1,@DATA)
                  AND ZSIPRODUCAOMESANTERIOR.IDHABILITACAOFILIAL = VW.IDHABILITACAOFILIAL
                  AND ZSIPRODUCAOMESANTERIOR.TURMA = VW.MAT_CODTURMA

            WHERE (
                    (VW.DTFINAL >= @DATA AND VW.DTINICIAL < @DATA2)
                    AND    (VW.MAT_DATAMATRICULA < @DATA2)
                    AND (VW.MAT_DATAREALTERMINO IS NULL OR VW.MAT_DATAREALTERMINO >= @DATA)
                    AND (VW.CODSTATUS NOT IN (3,21)) 
                   OR (ISNULL(ZSIPRODUCAOMESANTERIOR.SITUACAO,'') = 'A' AND IDFTDATURMACORRENTE = ULTIMOIDFTDATURMA) 
                  )
                   OR ISNULL(VW.ENCALUNO,'') = 'S'

UNION ALL

/* REGISTRO DE MATR�CULA */

            SELECT    DISTINCT @DATA,
                    VW.MAT_RA,
                    VW.IDHABILITACAOFILIAL,
                    VW.MAT_MATRICULA,
                    VW.MAT_CODTURMA,
                    /* CAMPO NATIVO */
                    /* CASE WHEN ISNULL(VW.MAT_CODSITUACAO,'1') IN ('1') AND VW.CODSTATUS NOT IN (3,21) THEN 'A'  ELSE 'I' END SITUACAO, */
                    /* AJUSTE A PEDIDO DA CRISTIANE NO DIA 14/04/2020, PARA CONTORNAR A CRITICA 27 CAMPO SITUA��O DE MATRICULA VAZIO */
                    CASE
                        WHEN VW.MAT_CODSITUACAO IN ('1') AND VW.CODSTATUS NOT IN (3,21) THEN 'A'
                        WHEN VW.MAT_CODSITUACAO IS NULL THEN NULL
                        ELSE 'I' END SITUACAO,
                    /* FIM AJUSTE */    
                    '2' + ';' +
                    CASE WHEN ZSIPRODUCAOMESANTERIOR.SITUACAO = 'A' AND VW.CODSTATUS IN (3,21) THEN 'E' ELSE '' END + ';' +
                    ISNULL(LEFT(VW.MAT_MATRICULA,20),'') + ';' +
                    ISNULL(VW.MAT_FILIAL,'') + ';' +
                    ISNULL(VW.MAT_CODCURSO,'') + ';' +
                    ISNULL(VW.MAT_TIPOACAO,'') + ';' +
                    ISNULL(VW.MAT_TIPOAMBIENTE,'') + ';' +
                    ISNULL(CONVERT(VARCHAR(15),VW.MAT_DATAMATRICULA,103),'') + ';' + 
                    ISNULL(CONVERT(VARCHAR(15),VW.MAT_DATAPREVISTASAIDA,103),'') + ';' + 
                    CASE WHEN VW.MAT_CODSITUACAO IN ('1') THEN '' ELSE ISNULL(CONVERT(VARCHAR(15),MAX(VW.MAT_DATAREALTERMINO),103),'') END + ';' + 
                    ISNULL(VW.MAT_MUNICIPIOCURSO,'') + ';' +
                    ISNULL(VW.MAT_CODALUNO,'') + ';' +
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_CODSITUACAO),'') + ';' +
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_TIPOENTRADA),'1') + ';' +
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_CONDICAOALU),'9') + ';' + 
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_ARTICULACAO),'N') + ';' +
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_TIPOGRAT),'') + ';' +
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_TIPOESCOLA),'9') + ';' +
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_INDPRONATEC),'1') + ';' +
                    ISNULL(VW.MAT_CERT1,'0') + ';' +
                    ISNULL(VW.MAT_CERT2,'0') + ';' +
                    ISNULL(VW.MAT_CERT3,'0') + ';' +
                    ISNULL(VW.MAT_CERT4,'0') + ';' +
                    ISNULL(VW.MAT_CERT5,'0') + ';' +
                    ISNULL(VW.MAT_CERT6,'0') + ';' +
                    ISNULL(VW.MAT_MOTIVOCPF,'0') + ';' +
                    ISNULL(VW.MAT_CPF,'') + ';' +
                    ISNULL(VW.MAT_NOMEALUNO,'') + ';' +
                    ISNULL(CONVERT(VARCHAR(15),VW.MAT_DTNASCIMENTO,103),'') + ';' + 
                    ISNULL(VW.MAT_NOMEMAE,'') + ';' +
                    ISNULL(VW.MAT_RESPONSAVEL,'') + ';' +
                    ISNULL(VW.MAT_NOMEPAI,'') + ';' +
                    ISNULL(VW.MAT_IDENTIDADE,'') + ';' +
                    ISNULL(VW.MAT_ORGEMISSOR,'') + ';' +
                    ISNULL(CONVERT(VARCHAR(15),VW.MAT_DTEMISSAO,103),'') + ';' +
                    ISNULL(VW.MAT_PISPASEP,'') + ';' +
                    ISNULL(VW.MAT_SEXO,'') + ';' +
                    ISNULL(VW.MAT_CORRACA,'') + ';' +
                    ISNULL(VW.MAT_CODPAIS,'')  + ';' +
                    ISNULL(VW.MAT_MUNICIPIOALUNO,'') + ';' +
                    ISNULL(VW.MAT_ESTADOCIVIL,'') + ';' +
                    ISNULL(VW.MAT_GRAUINSTRUCAO,'') + ';' +
                    ISNULL(VW.MAT_SITOCUP,'') + ';' +
                    ISNULL(VW.MAT_NECESSIDADESPECIAIS,'') + ';' + 
                    ISNULL(VW.MAT_RUA,'') + ';' +
                    ISNULL(VW.MAT_NUMERO,'') + ';' +
                    ISNULL(VW.MAT_COMPLEMENTO,'') + ';' +
                    ISNULL(VW.MAT_BAIRRO,'') + ';' +
                    ISNULL(VW.MAT_CIDADE,'') + ';' +
                    ISNULL(VW.MAT_ESTADO,'') + ';' +
                    ISNULL(VW.MAT_CEP,'') + ';' +
                    ISNULL(VW.MAT_DDD,'') + ';' +
                    ISNULL(VW.MAT_TELEFONE,'') + ';' +
                    ISNULL(VW.MAT_DDDCELULAR,'') + ';' +
                    ISNULL(VW.MAT_CELULAR,'') + ';' +
                    ISNULL(VW.MAT_EMAIL,'')+ ';' + 
                    ISNULL(MAX(VW.MAT_PESSOAFISOUJUR),'') + ';' +
                    ISNULL(MAX(VW.MAT_CNPJRESPFINANC),'') + ';' +
                    ISNULL(VW.MAT_CPFRESPFINANC,'') + ';' +
                    ISNULL(VW.MAT_RESPONSAVELALUNO,'')+ ';' +
                    ISNULL(VW.MAT_RUARESP,'') + ';' +
                    ISNULL(VW.MAT_NUMERORESP,'')+ ';' +
                    ISNULL(VW.MAT_COMPLRESP,'')+ ';' +
                    ISNULL(VW.MAT_BAIRRORESP,'')+ ';' + 
                    ISNULL(VW.MAT_CIDADERESP,'')+ ';' +
                    ISNULL(VW.MAT_CODETDRESP,'')+ ';' +
                    ISNULL(VW.MAT_CEPRESP,'')+ ';' +
                    ISNULL(VW.MAT_TELRESP,'')+ ';' +
                    ISNULL(VW.MAT_FAXRESP,'')+ ';' +
                    ISNULL(VW.MAT_EMAILRESP,'')+ ';' +
                    ISNULL(VW.MAT_CONTATORESP,'')+ ';' + 
                    ISNULL(VW.MAT_SIGLADRPARCEIRO,'')+ ';' +
                    ISNULL(VW.MAT_DDI,'')+ ';' +
                    ISNULL(VW.MAT_DDICELULAR,'')+ ';' +
                    ISNULL(VW.MAT_TIPOPF,'')+ ';' +
                    ISNULL(VW.MAT_NPASSAPORTE,'')+ ';' + 
                    ISNULL(VW.MAT_NROREGGERAL,'') REG_UNICO
        
FROM FN_SOLUCAOINTEGRADORA (@CODCOLIGADA_N, @DATA, @DATA2, @CODFILIAL_S, @CODMODALIDADECURSO_S, @CURPRESDIST_S, @CODTURMA_S) VW
    LEFT JOIN ZSIPRODUCAOMESANTERIOR(NOLOCK)
          ON ZSIPRODUCAOMESANTERIOR.MATRICULA = VW.MAT_MATRICULA
          AND REFERENCIA = DATEADD(MONTH,-1,@DATA)
          AND ZSIPRODUCAOMESANTERIOR.IDHABILITACAOFILIAL = VW.IDHABILITACAOFILIAL
          AND ZSIPRODUCAOMESANTERIOR.TURMA = VW.MAT_CODTURMA

            WHERE (
                    (VW.DTFINAL >= @DATA AND VW.DTINICIAL < @DATA2)
                    AND    (VW.MAT_DATAMATRICULA < @DATA2)
                    AND (VW.MAT_DATAREALTERMINO IS NULL OR VW.MAT_DATAREALTERMINO >= @DATA)
                    AND (VW.CODSTATUS NOT IN (3,21)) 
                   OR (ISNULL(ZSIPRODUCAOMESANTERIOR.SITUACAO,'') = 'A' AND IDFTDATURMACORRENTE = ULTIMOIDFTDATURMA) 
                  )
                   OR ISNULL(VW.ENCALUNO,'') = 'S'
            
GROUP BY             VW.MAT_RA,
                    VW.IDHABILITACAOFILIAL,
                    VW.MAT_MATRICULA,
                    VW.MAT_CODTURMA,
                    VW.MAT_CODSITUACAO,
                    ISNULL(LEFT(VW.MAT_MATRICULA,20),''),
                    ISNULL(VW.MAT_FILIAL,'') ,
                    ISNULL(VW.MAT_CODCURSO,'') ,
                    ISNULL(VW.MAT_TIPOACAO,'') ,
                    ISNULL(VW.MAT_TIPOAMBIENTE,'') ,
                    ISNULL(CONVERT(VARCHAR(15),VW.MAT_DATAMATRICULA,103),'') ,
                    ISNULL(CONVERT(VARCHAR(15),VW.MAT_DATAPREVISTASAIDA,103),''),
                    ISNULL(VW.MAT_MUNICIPIOCURSO,'') ,
                    ISNULL(VW.MAT_CODALUNO,'') ,
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_CODSITUACAO),'') ,
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_TIPOENTRADA),'1') ,
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_CONDICAOALU),'9') ,
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_ARTICULACAO),'N') ,
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_TIPOGRAT),'') ,
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_TIPOESCOLA),'9') ,
                    ISNULL(CONVERT(VARCHAR(10),VW.MAT_INDPRONATEC),'1') ,
                    ISNULL(VW.MAT_CERT1,'0') ,
                    ISNULL(VW.MAT_CERT2,'0') ,
                    ISNULL(VW.MAT_CERT3,'0') ,
                    ISNULL(VW.MAT_CERT4,'0') ,
                    ISNULL(VW.MAT_CERT5,'0') ,
                    ISNULL(VW.MAT_CERT6,'0') ,
                    ISNULL(VW.MAT_MOTIVOCPF,'0') ,
                    ISNULL(VW.MAT_CPF,'') ,
                    ISNULL(VW.MAT_NOMEALUNO,'') ,
                    ISNULL(CONVERT(VARCHAR(15),VW.MAT_DTNASCIMENTO,103),'') , 
                    ISNULL(VW.MAT_NOMEMAE,'') ,
                    ISNULL(VW.MAT_RESPONSAVEL,'') ,
                    ISNULL(VW.MAT_NOMEPAI,'') ,
                    ISNULL(VW.MAT_IDENTIDADE,'') ,
                    ISNULL(VW.MAT_ORGEMISSOR,'') ,
                    ISNULL(CONVERT(VARCHAR(15),VW.MAT_DTEMISSAO,103),'') ,
                    ISNULL(VW.MAT_PISPASEP,'') ,
                    ISNULL(VW.MAT_SEXO,'') ,
                    ISNULL(VW.MAT_CORRACA,'') ,
                    ISNULL(VW.MAT_CODPAIS,'')  ,
                    ISNULL(VW.MAT_MUNICIPIOALUNO,'') ,
                    ISNULL(VW.MAT_ESTADOCIVIL,'') ,
                    ISNULL(VW.MAT_GRAUINSTRUCAO,'') ,
                    ISNULL(VW.MAT_SITOCUP,'') ,
                    ISNULL(VW.MAT_NECESSIDADESPECIAIS,'') , 
                    ISNULL(VW.MAT_RUA,'') ,
                    ISNULL(VW.MAT_NUMERO,'') ,
                    ISNULL(VW.MAT_COMPLEMENTO,'') ,
                    ISNULL(VW.MAT_BAIRRO,'') ,
                    ISNULL(VW.MAT_CIDADE,'') ,
                    ISNULL(VW.MAT_ESTADO,'') ,
                    ISNULL(VW.MAT_CEP,'') ,
                    ISNULL(VW.MAT_DDD,'') ,
                    ISNULL(VW.MAT_TELEFONE,'') ,
                    ISNULL(VW.MAT_DDDCELULAR,'') ,
                    ISNULL(VW.MAT_CELULAR,'') ,
                    ISNULL(VW.MAT_EMAIL,''), 
                    ISNULL(VW.MAT_CPFRESPFINANC,'') ,
                    ISNULL(VW.MAT_RESPONSAVELALUNO,''),
                    ISNULL(VW.MAT_RUARESP,'') ,
                    ISNULL(VW.MAT_NUMERORESP,''),
                    ISNULL(VW.MAT_COMPLRESP,''),
                    ISNULL(VW.MAT_BAIRRORESP,''), 
                    ISNULL(VW.MAT_CIDADERESP,''),
                    ISNULL(VW.MAT_CODETDRESP,''),
                    ISNULL(VW.MAT_CEPRESP,''),
                    ISNULL(VW.MAT_TELRESP,''),
                    ISNULL(VW.MAT_FAXRESP,''),
                    ISNULL(VW.MAT_EMAILRESP,''),
                    ISNULL(VW.MAT_CONTATORESP,''),
                    ISNULL(VW.MAT_SIGLADRPARCEIRO,''),
                    ISNULL(VW.MAT_DDI,''),
                    ISNULL(VW.MAT_DDICELULAR,''),
                    ISNULL(VW.MAT_TIPOPF,''),
                    ISNULL(VW.MAT_NPASSAPORTE,''), 
                    ISNULL(VW.MAT_NROREGGERAL,''),
                    VW.CODSTATUS,
                    ZSIPRODUCAOMESANTERIOR.SITUACAO

Status dos Jobs (Execuções na �altima Hora)

Job Name Execucao Resultado Duracao (HH:MM:SS) Mensagem
[DBA] - kill2026-03-31 14:20:00Succeeded00:00:01
The job succeeded.  The Job was invoked by Schedule 15 (10 em 10 Minutos).  The last step to run was step 1 (Kill).
[DBA] - kill2026-03-31 14:10:00Succeeded00:00:00
The job succeeded.  The Job was invoked by Schedule 15 (10 em 10 Minutos).  The last step to run was step 1 (Kill).
[DBA] - kill2026-03-31 14:00:00Succeeded00:00:00
The job succeeded.  The Job was invoked by Schedule 15 (10 em 10 Minutos).  The last step to run was step 1 (Kill).
[DBA] - kill2026-03-31 13:50:00Succeeded00:00:00
The job succeeded.  The Job was invoked by Schedule 15 (10 em 10 Minutos).  The last step to run was step 1 (Kill).
[DBA] - kill2026-03-31 13:40:00Succeeded00:00:00
The job succeeded.  The Job was invoked by Schedule 15 (10 em 10 Minutos).  The last step to run was step 1 (Kill).
[DBA] - kill2026-03-31 13:30:00Succeeded00:00:00
The job succeeded.  The Job was invoked by Schedule 15 (10 em 10 Minutos).  The last step to run was step 1 (Kill).
DBA Backup LOG.Subplan_12026-03-31 14:15:00Succeeded00:00:06
The job succeeded.  The Job was invoked by Schedule 11 (DBA Backup LOG.Subplan_1).  The last step to run was step 1 (Subplan_1).
DBA Backup LOG.Subplan_12026-03-31 14:00:00Succeeded00:00:03
The job succeeded.  The Job was invoked by Schedule 11 (DBA Backup LOG.Subplan_1).  The last step to run was step 1 (Subplan_1).
DBA Backup LOG.Subplan_12026-03-31 13:45:00Succeeded00:00:06
The job succeeded.  The Job was invoked by Schedule 11 (DBA Backup LOG.Subplan_1).  The last step to run was step 1 (Subplan_1).
DBA Backup LOG.Subplan_12026-03-31 13:30:00Succeeded00:00:02
The job succeeded.  The Job was invoked by Schedule 11 (DBA Backup LOG.Subplan_1).  The last step to run was step 1 (Subplan_1).

Análise Performance - CORPORERM

Visão Em Tempo Real (DB) (TOP 30)

SPID Status Bloqueado Por Tipo de Espera Tempo Espera Decorrrido CPU (ms) L.Reads Reads Writes Login ERP User ERP ID Host ERP IP Programa ERP Prog Objeto Texto da Query
2329suspended0ASYNC_NETWORK_IO00:00:000d 00:00:0001000usulinkSGESRVSEDE01644Microsoft SQL Server
SELECT "Tbl1008"."CODMUNICIPIO" "Col1038","Tbl1008"."CODETDMUNICIPIO" "Col1039","Tbl1008"."NOMEMUNICIPIO" "Col1040" FROM "CorporeRM"."dbo"."gmunicipio" "Tbl1008"

Consultas Ativas com Paralelismo (DB) (Tempo Real) (TOP 20)

SPID DOP (Grau de Paralelismo) Login Host Status Tipo de Espera Texto da Query
23291usulinkSGESRVSEDE01644suspendedASYNC_NETWORK_IO
SELECT "Tbl1008"."CODMUNICIPIO" "Col1038","Tbl1008"."CODETDMUNICIPIO" "Col1039","Tbl1008"."NOMEMUNICIPIO" "Col1040" FROM "CorporeRM"."dbo"."gmunicipio" "Tbl1008"

Locks (Objetos) (Tempo Real) (TOP 100)

SPID Objeto Modo Status Login Programa Host Transacoes Abertas Inicio
794GEAIDEPARAIXGRANTrm.Net SqlClient Data ProviderSES47922112026-03-31 14:23:51
1638SMATRICPLIXGRANTrm.Net SqlClient Data ProviderSEN59415512026-03-31 14:25:22
2329GMUNICIPIOISGRANTusulinkSGEMicrosoft SQL ServerSRVSEDE0164412026-03-31 14:25:24
2329PCODNACAOISGRANTusulinkSGEMicrosoft SQL ServerSRVSEDE0164412026-03-31 14:25:24
3899GAPITOKENSIXGRANT.Net SqlClient Data Providerlocalhost12026-03-31 14:25:24

Blocks (Sessões) (Tempo Real) (TOP 100)

Nivel SPID Bloqueado Por Sessoes Bloqueadas Transacoes Abertas Info de Espera Tempo Espera (ms) Login Host Programa SQL Atual
Nenhum bloqueio encontrado para sessoes neste banco de dados.

Deadlocks (�altima Hora) (TOP 100)

Data de Criacao SPID Vítima SPIDs Envolvidos Relatorio de Deadlock (XML)
Nenhum deadlock encontrado no ring_buffer para este banco de dados.

Top 10 Queries por CPU (�altima Hora)

Exec Count Total CPU (ms) Avg CPU (ms) Total Duration (ms) Avg Duration (ms) Total Reads Query Text
555183.240.33443.010.8011857
UPDATE SFREQUENCIA
        SET IDJUSTIFICATIVAFALTA = @IDJUSTIFICATIVAFALTA,
            JUSTIFICADA = 1
    WHERE CODCOLIGADA = @CODCOLIGADA
      AND IDHORARIOTURMA = @IDHORARIOTURMA
      AND IDTURMADISC = @IDTURMADISC
      AND RA = @RA
      AND DATA = @DATA

Top 10 Queries por Duração (�altima Hora)

Exec Count Total Duration (ms) Avg Duration (ms) Total CPU (ms) Avg CPU (ms) Total Reads Query Text
555443.010.80183.240.3311857
UPDATE SFREQUENCIA
        SET IDJUSTIFICATIVAFALTA = @IDJUSTIFICATIVAFALTA,
            JUSTIFICADA = 1
    WHERE CODCOLIGADA = @CODCOLIGADA
      AND IDHORARIOTURMA = @IDHORARIOTURMA
      AND IDTURMADISC = @IDTURMADISC
      AND RA = @RA
      AND DATA = @DATA