public ObterProfessoresDoCursoParaIncluirGoogleQuery(int anoLetivo, long turmaId, long componenteCurricularId, Infra.ParametrosCargaInicialDto parametrosCargaInicialDto) { AnoLetivo = anoLetivo; TurmaId = turmaId; ComponenteCurricularId = componenteCurricularId; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ObterFuncionariosDoCursoParaIncluirGoogleQuery(int anoLetivo, long turmaId, long componenteCurricularId, ParametrosCargaInicialDto parametrosCargaInicialDto) { AnoLetivo = anoLetivo; TurmaId = turmaId; ComponenteCurricularId = componenteCurricularId; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ObterFuncionariosParaIncluirGoogleQuery(DateTime ultimaDataExecucao, Paginacao paginacao, string rf, ParametrosCargaInicialDto parametrosCargaInicialDto) { UltimaDataExecucao = ultimaDataExecucao; Paginacao = paginacao; Rf = rf; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ObterGradesDeCursosQuery(DateTime ultimaDataExecucao, Paginacao paginacao, long?turmaId, long?componenteCurricularId, ParametrosCargaInicialDto parametrosCargaInicialDto) : this(ultimaDataExecucao, paginacao) { TurmaId = turmaId; ComponenteCurricularId = componenteCurricularId; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ObterFuncionariosParaRemoverCursoQuery(string turmaId, DateTime dataInicio, DateTime dataFim, ParametrosCargaInicialDto parametrosCargaInicialDto) { TurmaId = turmaId; DataInicio = dataInicio; DataFim = dataFim; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ObterAlunosInativosPorAnoLetivoQuery(ParametrosCargaInicialDto parametrosCargaInicialDto, int anoLetivo, DateTime dataReferencia, long?alunoId = null) { AnoLetivo = anoLetivo; AlunoId = alunoId; DataReferencia = dataReferencia; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
private static StringBuilder QueryBuscaRecenteAnoAluno(ParametrosCargaInicialDto parametrosCargaInicialDto) { var query = $@" --- 1.2 Montagem da tabela de inserção IF OBJECT_ID('tempdb..#tempAlunosAtivos') IS NOT NULL DROP TABLE #tempAlunosAtivos; SELECT DISTINCT NULL AS cd_aluno_classroom, aluno.cd_aluno AS cd_aluno_eol, 'True' AS in_ativo, [dbo].[proc_gerar_unidade_organizacional_aluno](se.cd_modalidade_ensino, se.cd_etapa_ensino, ce.cd_ciclo_ensino,esc.tp_escola) AS nm_organizacao, 0 AS email_alterado, 1 AS AlunoRegular, 0 AS AlunoPrograma INTO #tempAlunosAtivos FROM #tempAlunosMatriculasAtivas temp INNER JOIN v_aluno_cotic aluno (NOLOCK) ON aluno.cd_aluno = temp.cd_aluno INNER JOIN v_matricula_cotic matr (NOLOCK) ON aluno.cd_aluno = matr.cd_aluno AND matr.cd_matricula = temp.cd_matricula INNER JOIN matricula_turma_escola mte (NOLOCK) ON matr.cd_matricula = mte.cd_matricula INNER JOIN turma_escola te (NOLOCK) ON mte.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola INNER JOIN serie_turma_grade stg (NOLOCK) ON stg.cd_turma_escola = te.cd_turma_escola INNER JOIN serie_ensino se (NOLOCK) ON se.cd_serie_ensino = stg.cd_serie_ensino INNER JOIN etapa_ensino ee (NOLOCK) ON se.cd_etapa_ensino = ee.cd_etapa_ensino and ee.cd_modalidade_ensino = se.cd_modalidade_ensino INNER JOIN ciclo_ensino ce (NOLOCK) on ce.cd_etapa_ensino = ee.cd_etapa_ensino and ce.cd_modalidade_ensino = ee.cd_modalidade_ensino and ce.cd_ciclo_ensino = se.cd_ciclo_ensino WHERE matr.st_matricula IN (@situacaoAtivo, @situacaoPendenteRematricula, @situacaoRematriculado, @situacaoSemContinuidade) and mte.cd_situacao_aluno IN (@situacaoAtivoInt, @situacaoPendenteRematriculaInt, @situacaoRematriculadoInt, @situacaoSemContinuidadeInt) and matr.an_letivo = @anoLetivo" ; var queryBuilder = new StringBuilder(query); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); queryBuilder.Append(";"); return(queryBuilder); }
public ObterAlunosCodigosInativosPorAnoLetivoETurmaQuery(int anoLetivo, long turmaId, DateTime dataInicio, DateTime dataFim, ParametrosCargaInicialDto parametrosCargaInicialDto) { AnoLetivo = anoLetivo; TurmaId = turmaId; DataInicio = dataInicio; DataFim = dataFim; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ObterCursosIncluirGoogleQuery(ParametrosCargaInicialDto parametrosCargaInicialDto, DateTime?ultimaExecucao, Paginacao paginacao, long?componenteCurricularId, long?turmaId) { UltimaExecucao = ultimaExecucao; Paginacao = paginacao; ComponenteCurricularId = componenteCurricularId; TurmaId = turmaId; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ObterCursosExtintosPorPeriodoPaginadoQuery(ParametrosCargaInicialDto parametrosCargaInicialDto, DateTime dataInicio, DateTime dataFim, int anoLetivo, long?turmaId, Paginacao paginacao) { DataInicio = dataInicio; DataFim = dataFim; AnoLetivo = anoLetivo; TurmaId = turmaId; Paginacao = paginacao; }
public ObterAlunosQueSeraoRemovidosPorAnoLetivoETurmaQuery(ParametrosCargaInicialDto parametrosCargaInicialDto, Paginacao paginacao, int anoLetivo, long turmaId, DateTime dataReferencia, bool ehDataReferenciaPrincipal) { Paginacao = paginacao; AnoLetivo = anoLetivo; TurmaId = turmaId; DataReferencia = dataReferencia; EhDataReferenciaPrincipal = ehDataReferenciaPrincipal; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
private static StringBuilder QueryAgrupaBuscaRecenteAnoAluno(ParametrosCargaInicialDto parametrosCargaInicialDto) { string query = $@" -- 2.1 Montagem da tabela de inserção IF OBJECT_ID('tempdb..#tempAlunosProgramaAtivos') IS NOT NULL DROP TABLE #tempAlunosProgramaAtivos; SELECT DISTINCT NULL AS cd_aluno_classroom, aluno.cd_aluno AS cd_aluno_eol, 'True' AS in_ativo, CASE WHEN esc.tp_escola = 23 THEN '/Alunos/PROFISSIONAL' ELSE '/Alunos/PROGRAMA' END AS nm_organizacao, 0 AS email_alterado, 0 AS AlunoRegular, 1 AS AlunoPrograma INTO #tempAlunosProgramaAtivos FROM #tempAlunosMatriculasProgramaAtivas temp INNER JOIN v_aluno_cotic aluno (NOLOCK) ON aluno.cd_aluno = temp.cd_aluno INNER JOIN v_matricula_cotic matr (NOLOCK) ON aluno.cd_aluno = matr.cd_aluno AND matr.cd_matricula = temp.cd_matricula INNER JOIN matricula_turma_escola mte (NOLOCK) ON matr.cd_matricula = mte.cd_matricula INNER JOIN turma_escola te (NOLOCK) ON mte.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola WHERE matr.st_matricula IN (@situacaoAtivo, @situacaoPendenteRematricula, @situacaoRematriculado, @situacaoSemContinuidade) and mte.cd_situacao_aluno IN (@situacaoAtivoInt, @situacaoPendenteRematriculaInt, @situacaoRematriculadoInt, @situacaoSemContinuidadeInt) and matr.an_letivo = @anoLetivo" ; var queryBuilder = new StringBuilder(query); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); queryBuilder.Append(";"); return(queryBuilder); }
private static string MontaQueryAlunosParaInclusao(Paginacao paginacao, DateTime?dataReferecia, long?codigoEol, ParametrosCargaInicialDto parametrosCargaInicialDto) { var queryBuscaMatriculasRegular = QueryBuscaMatriculaRegular(dataReferecia, codigoEol, parametrosCargaInicialDto); var queryBuscaRecenteAnoAluno = QueryBuscaRecenteAnoAluno(parametrosCargaInicialDto); var queryBuscaMatriculas = QueryBuscaMatriculasPrograma(dataReferecia, codigoEol, parametrosCargaInicialDto); var queryAgrupaBuscaRecenteAnoAluno = QueryAgrupaBuscaRecenteAnoAluno(parametrosCargaInicialDto); var queryUniaoTopMatricula = QueryUniaoTopMatricula(paginacao); return($@" {queryBuscaMatriculasRegular} {queryBuscaRecenteAnoAluno} {queryBuscaMatriculas} {queryAgrupaBuscaRecenteAnoAluno} {queryUniaoTopMatricula} " ); }
public async Task <IEnumerable <FuncionarioCursoEol> > ObterCursosDoFuncionarioParaIncluirAsync(long?rf, int anoLetivo, ParametrosCargaInicialDto parametrosCargaInicialDto) { using var conn = ObterConexao(); const string queryFuncionariosPorCargoFixo = @" DECLARE @cargoCP AS INT = 3379; DECLARE @cargoAD AS INT = 3085; DECLARE @cargoDiretor AS INT = 3360; DECLARE @tipoFuncaoPAP AS INT = 30; DECLARE @tipoFuncaoPAEE AS INT = 6; DECLARE @tipoFuncaoCIEJAASSISTPED AS INT = 42; DECLARE @tipoFuncaoCIEJAASSISTCOORD AS INT = 43; DECLARE @tipoFuncaoCIEJACOORD AS INT = 44; -- 1. Busca os funcionários por cargo fixo IF OBJECT_ID('tempdb..#tempServidorCargosBase') IS NOT NULL DROP TABLE #tempServidorCargosBase; SELECT serv.cd_registro_funcional AS Rf, esc.cd_escola AS CdUe, cbc.cd_cargo AS CdCagoFuncao, cbc.cd_cargo_base_servidor INTO #tempServidorCargosBase FROM v_servidor_cotic serv (NOLOCK) INNER JOIN v_cargo_base_cotic cbc (NOLOCK) ON serv.cd_servidor = cbc.cd_servidor INNER JOIN lotacao_servidor ls (NOLOCK) ON ls.cd_cargo_base_servidor = cbc.cd_cargo_base_servidor INNER JOIN escola esc ON ls.cd_unidade_educacao = esc.cd_escola WHERE serv.cd_registro_funcional = @rf AND dt_fim_nomeacao IS NULL AND (ls.dt_fim IS NULL OR ls.dt_fim > GETDATE())" ; var queryBuscafuncionarioPorCargoFixoStringBuilder = new StringBuilder(queryFuncionariosPorCargoFixo); queryBuscafuncionarioPorCargoFixoStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscafuncionarioPorCargoFixoStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscafuncionarioPorCargoFixoStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscafuncionarioPorCargoFixoStringBuilder.Append(";"); const string queryFuncionariosPorCargoSobrepostoFixo = @" -- 2. Busca os funcionários por cargo sobreposto fixo IF OBJECT_ID('tempdb..#tempServidorCargosSobrepostos') IS NOT NULL DROP TABLE #tempServidorCargosSobrepostos; SELECT serv.cd_registro_funcional AS Rf, css.cd_unidade_local_servico AS CdUe, css.cd_cargo AS CdCagoFuncao, cbc.cd_cargo_base_servidor INTO #tempServidorCargosSobrepostos FROM v_servidor_cotic serv (NOLOCK) INNER JOIN v_cargo_base_cotic cbc (NOLOCK) ON serv.cd_servidor = cbc.cd_servidor INNER JOIN cargo_sobreposto_servidor css (NOLOCK) ON cbc.cd_cargo_base_servidor = css.cd_cargo_base_servidor INNER JOIN escola esc ON css.cd_unidade_local_servico = esc.cd_escola WHERE serv.cd_registro_funcional = @rf AND (css.dt_fim_cargo_sobreposto IS NULL OR css.dt_fim_cargo_sobreposto > GETDATE())" ; var queryBuscafuncionarioPorCargoSobrepostoStringBuilder = new StringBuilder(queryFuncionariosPorCargoSobrepostoFixo); queryBuscafuncionarioPorCargoSobrepostoStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscafuncionarioPorCargoSobrepostoStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscafuncionarioPorCargoSobrepostoStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscafuncionarioPorCargoSobrepostoStringBuilder.Append(";"); const string queryFuncionariosPorFuncionarios = @" -- 3. Busca os funcionários por função IF OBJECT_ID('tempdb..#tempServidorFuncao') IS NOT NULL DROP TABLE #tempServidorFuncao; SELECT serv.cd_registro_funcional AS Rf, esc.cd_escola AS CdUe, facs.cd_tipo_funcao AS CdCagoFuncao, cbc.cd_cargo_base_servidor INTO #tempServidorFuncao FROM v_servidor_cotic serv (NOLOCK) INNER JOIN v_cargo_base_cotic cbc (NOLOCK) ON serv.cd_servidor = cbc.cd_servidor INNER JOIN funcao_atividade_cargo_servidor facs (NOLOCK) ON cbc.cd_cargo_base_servidor = facs.cd_cargo_base_servidor INNER JOIN escola esc ON facs.cd_unidade_local_servico = esc.cd_escola WHERE serv.cd_registro_funcional = @rf AND (facs.dt_fim_funcao_atividade IS NULL OR facs.dt_fim_funcao_atividade > GETDATE()) AND dt_fim_nomeacao IS NULL" ; var queryBuscafuncionarioPorFuncaoStringBuilder = new StringBuilder(queryFuncionariosPorFuncionarios); queryBuscafuncionarioPorFuncaoStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscafuncionarioPorFuncaoStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryBuscafuncionarioPorFuncaoStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); queryBuscafuncionarioPorFuncaoStringBuilder.Append(";"); const string queryMain = @" IF OBJECT_ID('tempdb..#tempServidorCargos') IS NOT NULL DROP TABLE #tempServidorCargos; SELECT base.Rf, CASE WHEN NOT sobreposto.CdCagoFuncao IS NULL THEN sobreposto.CdCagoFuncao WHEN NOT funcao.CdCagoFuncao IS NULL THEN funcao.CdCagoFuncao ELSE base.CdCagoFuncao END AS CdCagoFuncao, CASE WHEN NOT sobreposto.CdUe IS NULL THEN sobreposto.CdUe WHEN NOT funcao.CdUe IS NULL THEN funcao.CdUe ELSE base.CdUe END AS CdUe INTO #tempServidorCargos FROM #tempServidorCargosBase base LEFT JOIN #tempServidorCargosSobrepostos sobreposto ON base.cd_cargo_base_servidor = sobreposto.cd_cargo_base_servidor LEFT JOIN #tempServidorFuncao funcao ON base.cd_cargo_base_servidor = funcao.cd_cargo_base_servidor; IF OBJECT_ID('tempdb..#tempServidorCargoFinal') IS NOT NULL DROP TABLE #tempServidorCargoFinal; SELECT * INTO #tempServidorCargoFinal FROM #tempServidorCargos WHERE CdCagoFuncao IN (@cargoCP, @cargoAD, @cargoDiretor, @tipoFuncaoPAP, @tipoFuncaoPAEE, @tipoFuncaoCIEJAASSISTPED, @tipoFuncaoCIEJAASSISTCOORD, @tipoFuncaoCIEJACOORD); IF OBJECT_ID('tempdb..#tempTurmasComponentesRegulares') IS NOT NULL DROP TABLE #tempTurmasComponentesRegulares SELECT DISTINCT CASE WHEN etapa_ensino.cd_etapa_ensino = 1 THEN 512 ELSE cc.cd_componente_curricular END ComponenteCurricularId, te.cd_turma_escola TurmaId, ue.cd_unidade_educacao AS CdUe INTO #tempTurmasComponentesRegulares FROM #tempServidorCargoFinal temp INNER JOIN turma_escola te (NOLOCK) ON temp.CdUe = te.cd_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola INNER JOIN v_cadastro_unidade_educacao ue (NOLOCK) ON ue.cd_unidade_educacao = esc.cd_escola INNER JOIN tipo_escola tpe (NOLOCK) ON esc.tp_escola = tpe.tp_escola INNER JOIN unidade_administrativa dre (NOLOCK) ON ue.cd_unidade_administrativa_referencia = dre.cd_unidade_administrativa INNER JOIN serie_turma_escola (NOLOCK) ON serie_turma_escola.cd_turma_escola = te.cd_turma_escola INNER JOIN serie_turma_grade (NOLOCK) ON serie_turma_grade.cd_turma_escola = serie_turma_escola.cd_turma_escola AND serie_turma_grade.dt_fim IS NULL INNER JOIN escola_grade (NOLOCK) ON serie_turma_grade.cd_escola_grade = escola_grade.cd_escola_grade INNER JOIN grade (NOLOCK) ON escola_grade.cd_grade = grade.cd_grade INNER JOIN grade_componente_curricular gcc (NOLOCK) ON gcc.cd_grade = grade.cd_grade INNER JOIN componente_curricular cc (NOLOCK) ON cc.cd_componente_curricular = gcc.cd_componente_curricular AND cc.dt_cancelamento IS NULL INNER JOIN serie_ensino (NOLOCK) ON grade.cd_serie_ensino = serie_ensino.cd_serie_ensino INNER JOIN etapa_ensino (NOLOCK) ON serie_ensino.cd_etapa_ensino = etapa_ensino.cd_etapa_ensino WHERE te.an_letivo = @anoLetivo AND te.st_turma_escola in ('O', 'A', 'C') AND (serie_turma_grade.dt_fim IS NULL OR serie_turma_grade.dt_fim >= GETDATE())" ; var queryMainStringBuilder = new StringBuilder(queryMain); queryMainStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryMainStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryMainStringBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); queryMainStringBuilder.Append(";"); var query = $@" {queryBuscafuncionarioPorCargoFixoStringBuilder} {queryBuscafuncionarioPorCargoSobrepostoStringBuilder} {queryBuscafuncionarioPorFuncaoStringBuilder} {queryMainStringBuilder} SELECT servidor.Rf, cursos.TurmaId, cursos.ComponenteCurricularId, cursos.CdUe AS UeCodigo FROM #tempServidorCargoFinal servidor INNER JOIN #tempTurmasComponentesRegulares cursos ON servidor.CdUe = cursos.CdUe;" ; return(await conn.QueryAsync <FuncionarioCursoEol>(query, new { rf, anoLetivo, TiposUes = parametrosCargaInicialDto.TiposUes, parametrosCargaInicialDto.Ues, parametrosCargaInicialDto.Turmas, })); }
public async Task <IEnumerable <AlunoCursoEol> > ObterCursosDoAlunoParaIncluirAsync(long codigoAluno, int anoLetivo, ParametrosCargaInicialDto parametrosCargaInicialDto) { using var conn = ObterConexao(); const string queryBuscaMatriculas = @" DECLARE @situacaoAtivo AS CHAR = 1; DECLARE @situacaoPendenteRematricula AS CHAR = 6; DECLARE @situacaoRematriculado AS CHAR = 10; DECLARE @situacaoSemContinuidade AS CHAR = 13; DECLARE @situacaoAtivoInt AS INT = 1; DECLARE @situacaoPendenteRematriculaInt AS INT = 6; DECLARE @situacaoRematriculadoInt AS INT = 10; DECLARE @situacaoSemContinuidadeInt AS INT = 13; -- 1. Busca matrículas regulares IF OBJECT_ID('tempdb..#tempAlunosMatriculasRegularesAtivas') IS NOT NULL DROP TABLE #tempAlunosMatriculasRegularesAtivas; SELECT a.cd_aluno, te.cd_turma_escola INTO #tempAlunosMatriculasRegularesAtivas FROM v_aluno_cotic aluno (NOLOCK) INNER JOIN aluno a ON aluno.cd_aluno = a.cd_aluno INNER JOIN v_matricula_cotic matr (NOLOCK) ON aluno.cd_aluno = matr.cd_aluno INNER JOIN matricula_turma_escola mte (NOLOCK) ON matr.cd_matricula = mte.cd_matricula INNER JOIN turma_escola te (NOLOCK) ON mte.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola WHERE a.cd_aluno = @codigoAluno AND matr.st_matricula IN (@situacaoAtivo, @situacaoPendenteRematricula, @situacaoRematriculado, @situacaoSemContinuidade) AND mte.cd_situacao_aluno IN (@situacaoAtivoInt, @situacaoPendenteRematriculaInt, @situacaoRematriculadoInt, @situacaoSemContinuidadeInt) AND matr.an_letivo = @anoLetivo AND te.st_turma_escola in ('O', 'A', 'C') AND te.an_letivo = @anoLetivo AND NOT cd_serie_ensino IS NULL; " ; string queryBuscaCursosTurmas = $@" -- 1.1 Busca os cursos das turmas IF OBJECT_ID('tempdb..#tempTurmasComponentesRegulares') IS NOT NULL DROP TABLE #tempTurmasComponentesRegulares SELECT DISTINCT temp.cd_aluno AS CodigoAluno, CASE WHEN etapa_ensino.cd_etapa_ensino = 1 THEN 512 ELSE cc.cd_componente_curricular END ComponenteCurricularId, te.cd_turma_escola TurmaId, te.cd_escola AS UeCodigo INTO #tempTurmasComponentesRegulares FROM #tempAlunosMatriculasRegularesAtivas temp INNER JOIN turma_escola te (NOLOCK) ON temp.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola INNER JOIN v_cadastro_unidade_educacao ue (NOLOCK) ON ue.cd_unidade_educacao = esc.cd_escola INNER JOIN tipo_escola tpe (NOLOCK) ON esc.tp_escola = tpe.tp_escola INNER JOIN unidade_administrativa dre (NOLOCK) ON ue.cd_unidade_administrativa_referencia = dre.cd_unidade_administrativa INNER JOIN serie_turma_escola (NOLOCK) ON serie_turma_escola.cd_turma_escola = te.cd_turma_escola INNER JOIN serie_turma_grade (NOLOCK) ON serie_turma_grade.cd_turma_escola = serie_turma_escola.cd_turma_escola AND serie_turma_grade.dt_fim IS NULL INNER JOIN escola_grade (NOLOCK) ON serie_turma_grade.cd_escola_grade = escola_grade.cd_escola_grade INNER JOIN grade (NOLOCK) ON escola_grade.cd_grade = grade.cd_grade INNER JOIN grade_componente_curricular gcc (NOLOCK) ON gcc.cd_grade = grade.cd_grade INNER JOIN componente_curricular cc (NOLOCK) ON cc.cd_componente_curricular = gcc.cd_componente_curricular AND cc.dt_cancelamento IS NULL INNER JOIN serie_ensino (NOLOCK) ON grade.cd_serie_ensino = serie_ensino.cd_serie_ensino INNER JOIN etapa_ensino (NOLOCK) ON serie_ensino.cd_etapa_ensino = etapa_ensino.cd_etapa_ensino WHERE (serie_turma_grade.dt_fim IS NULL OR serie_turma_grade.dt_fim >= GETDATE())" ; string queryBuscaProgramas = $@"-- 2. Busca matrículas de programa IF OBJECT_ID('tempdb..#tempAlunosMatriculasProgramaAtivas') IS NOT NULL DROP TABLE #tempAlunosMatriculasProgramaAtivas; SELECT a.cd_aluno, te.cd_turma_escola INTO #tempAlunosMatriculasProgramaAtivas FROM v_aluno_cotic aluno (NOLOCK) INNER JOIN aluno a ON aluno.cd_aluno = a.cd_aluno INNER JOIN v_matricula_cotic matr (NOLOCK) ON aluno.cd_aluno = matr.cd_aluno INNER JOIN matricula_turma_escola mte (NOLOCK) ON matr.cd_matricula = mte.cd_matricula INNER JOIN turma_escola te (NOLOCK) ON mte.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola WHERE a.cd_aluno = @codigoAluno AND matr.st_matricula IN (@situacaoAtivo, @situacaoPendenteRematricula, @situacaoRematriculado, @situacaoSemContinuidade) AND mte.cd_situacao_aluno IN (@situacaoAtivoInt, @situacaoPendenteRematriculaInt, @situacaoRematriculadoInt, @situacaoSemContinuidadeInt) AND matr.an_letivo = @anoLetivo AND te.st_turma_escola in ('O', 'A', 'C') AND te.an_letivo = @anoLetivo AND NOT matr.cd_tipo_programa IS NULL;" ; var queryBuscaMatriculasBuilder = new StringBuilder(queryBuscaMatriculas); queryBuscaMatriculasBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscaMatriculasBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryBuscaMatriculasBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); queryBuscaMatriculasBuilder.Append(";"); var queryBuscaCursosTurmasBuider = new StringBuilder(queryBuscaCursosTurmas); queryBuscaCursosTurmasBuider.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscaCursosTurmasBuider.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryBuscaCursosTurmasBuider.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); queryBuscaCursosTurmasBuider.Append(";"); var queryBuscaProgramasBuilder = new StringBuilder(queryBuscaProgramas); queryBuscaProgramasBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuscaProgramasBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryBuscaProgramasBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); queryBuscaProgramasBuilder.Append(";"); string query = $@" {queryBuscaMatriculas} {queryBuscaCursosTurmas} {queryBuscaProgramas} -- 2.1 Busca os cursos das turmas IF OBJECT_ID('tempdb..#tempTurmasComponentesPrograma') IS NOT NULL DROP TABLE #tempTurmasComponentesPrograma SELECT DISTINCT temp.cd_aluno AS CodigoAluno, pcc.cd_componente_curricular AS ComponenteCurricularId, te.cd_turma_escola TurmaId, te.cd_escola AS UeCodigo INTO #tempTurmasComponentesPrograma FROM #tempAlunosMatriculasProgramaAtivas temp INNER JOIN turma_escola te (NOLOCK) ON te.cd_turma_escola = temp.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola INNER JOIN v_cadastro_unidade_educacao ue (NOLOCK) ON ue.cd_unidade_educacao = esc.cd_escola INNER JOIN tipo_escola tpe (NOLOCK) ON esc.tp_escola = tpe.tp_escola INNER JOIN unidade_administrativa dre (NOLOCK) ON ue.cd_unidade_administrativa_referencia = dre.cd_unidade_administrativa LEFT JOIN tipo_programa tp (NOLOCK) ON te.cd_tipo_programa = tp.cd_tipo_programa INNER JOIN turma_escola_grade_programa tegp (NOLOCK) ON tegp.cd_turma_escola = te.cd_turma_escola INNER JOIN escola_grade teg (NOLOCK) ON teg.cd_escola_grade = tegp.cd_escola_grade INNER JOIN grade pg (NOLOCK) ON pg.cd_grade = teg.cd_grade INNER JOIN grade_componente_curricular pgcc (NOLOCK) ON pgcc.cd_grade = teg.cd_grade INNER JOIN componente_curricular pcc (NOLOCK) ON pgcc.cd_componente_curricular = pcc.cd_componente_curricular and pcc.dt_cancelamento is null WHERE (tegp.dt_fim IS NULL OR tegp.dt_fim >= GETDATE()); SELECT * FROM (SELECT * FROM #tempTurmasComponentesRegulares) AS Regulares UNION (SELECT * FROM #tempTurmasComponentesPrograma);" ; return(await conn.QueryAsync <AlunoCursoEol>(query, new { codigoAluno, anoLetivo, TiposUes = parametrosCargaInicialDto.TiposUes, parametrosCargaInicialDto.Ues, parametrosCargaInicialDto.Turmas, })); }
public ObterCursosParaArquivarPorAnoPaginadoQuery(int anoLetivo, Paginacao paginacao, ParametrosCargaInicialDto parametrosCargaInicialDto) { AnoLetivo = anoLetivo; Paginacao = paginacao; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
private static StringBuilder QueryBuscaMatriculasPrograma(DateTime?dataReferecia, long?codigoEol, ParametrosCargaInicialDto parametrosCargaInicialDto) { string query = $@" -- 2. Busca matrículas de programa IF OBJECT_ID('tempdb..#tempAlunosMatriculasProgramaAtivas') IS NOT NULL DROP TABLE #tempAlunosMatriculasProgramaAtivas; SELECT aluno.cd_aluno, max(matr.cd_matricula) cd_matricula, max(matr.dt_status_matricula) dt_status_matricula INTO #tempAlunosMatriculasProgramaAtivas FROM v_aluno_cotic aluno (NOLOCK) INNER JOIN aluno a ON aluno.cd_aluno = a.cd_aluno INNER JOIN v_matricula_cotic matr (NOLOCK) ON aluno.cd_aluno = matr.cd_aluno INNER JOIN matricula_turma_escola mte (NOLOCK) ON matr.cd_matricula = mte.cd_matricula INNER JOIN turma_escola te (NOLOCK) ON mte.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola WHERE matr.st_matricula IN (@situacaoAtivo, @situacaoPendenteRematricula, @situacaoRematriculado, @situacaoSemContinuidade) AND mte.cd_situacao_aluno IN (@situacaoAtivoInt, @situacaoPendenteRematriculaInt, @situacaoRematriculadoInt, @situacaoSemContinuidadeInt) AND matr.an_letivo = @anoLetivo AND te.st_turma_escola in ('O', 'A', 'C') AND te.an_letivo = @anoLetivo AND NOT matr.cd_tipo_programa IS NULL {(codigoEol.HasValue ? @"AND aluno.cd_aluno = @codigoEol " : " ")} " ; var queryBuilder = new StringBuilder(query); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); queryBuilder.AppendLine("GROUP BY aluno.cd_aluno;"); return(queryBuilder); }
public async Task <PaginacaoResultadoDto <AlunoEol> > ObterAlunosParaInclusaoAsync(Paginacao paginacao, int anoLetivo, DateTime?dataReferencia, long?codigoEol, ParametrosCargaInicialDto parametrosCargaInicialDto) { dataReferencia = dataReferencia?.Add(new TimeSpan(0, 0, 0)); var query = MontaQueryAlunosParaInclusao(paginacao, dataReferencia, codigoEol, parametrosCargaInicialDto); using var conn = ObterConexao(); using var multi = await conn.QueryMultipleAsync(query, new { anoLetivo, pagina = paginacao.Pagina, quantidadeRegistros = paginacao.QuantidadeRegistros, codigoEol, TiposUes = parametrosCargaInicialDto.TiposUes, parametrosCargaInicialDto.Ues, parametrosCargaInicialDto.Turmas, }, commandTimeout : 120); var retorno = new PaginacaoResultadoDto <AlunoEol> { Items = multi.Read <AlunoEol>(), TotalRegistros = multi.ReadFirst <int>() }; retorno.TotalPaginas = paginacao.QuantidadeRegistros > 0 ? (int)Math.Ceiling((double)retorno.TotalRegistros / paginacao.QuantidadeRegistros) : 1; return(retorno); }
public ObterTurmasConcluidasPorAnoLetivoQuery(ParametrosCargaInicialDto parametrosCargaInicialDto, int anoLetivo, long?turmaId) { AnoLetivo = anoLetivo; TurmaId = turmaId; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ObterProfessorParaTratamentoDeErroQuery(long rf, ParametrosCargaInicialDto parametrosCargaInicialDto) { Rf = rf; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ArquivarTurmasCommand(ParametrosCargaInicialDto parametrosCargaInicialDto, int anoLetivo, long?turmaId = null) { AnoLetivo = anoLetivo; TurmaId = turmaId; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public ObterFuncionarioParaTratamentoDeErroQuery(long rf, Infra.ParametrosCargaInicialDto parametrosCargaInicialDto) { Rf = rf; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public async Task <IEnumerable <long> > ObterCodigosAlunosInativosPorAnoLetivo(ParametrosCargaInicialDto parametrosCargaInicialDto, int anoLetivo, DateTime dataReferencia, long?alunoId) { try { var query = new StringBuilder(@" SELECT DISTINCT a.cd_aluno AS CodigoAluno FROM v_aluno_cotic aluno (NOLOCK) INNER JOIN aluno a ON aluno.cd_aluno = a.cd_aluno INNER JOIN v_matricula_cotic matr (NOLOCK) ON aluno.cd_aluno = matr.cd_aluno INNER JOIN matricula_turma_escola mte (NOLOCK) ON matr.cd_matricula = mte.cd_matricula INNER JOIN turma_escola te (NOLOCK) ON mte.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola WHERE mte.cd_situacao_aluno IN (2,3,4,5,7,8,11,12,14,15) AND matr.an_letivo = @anoLetivo AND te.an_letivo = @anoLetivo AND matr.dt_status_matricula >= @dataReferencia AND NOT EXISTS (select 1 from v_matricula_cotic where an_letivo >= matr.an_letivo and st_matricula IN(1,6,10,13) and cd_aluno = a.cd_aluno) " ); if (alunoId != null && alunoId > 0) { query.AppendLine("AND a.cd_aluno = @alunoId "); } query.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); query.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); query.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); query.Append(";"); using var conn = ObterConexao(); return(await conn.QueryAsync <long>(query.ToString(), new { anoLetivo, dataReferencia, alunoId, TiposUes = parametrosCargaInicialDto.TiposUes, parametrosCargaInicialDto.Ues, parametrosCargaInicialDto.Turmas, })); } catch (Exception ex) { throw ex; } }
public ObterCursosDoFuncionarioParaIncluirGoogleQuery(long rf, int anoLetivo, ParametrosCargaInicialDto parametrosCargaInicialDto) { Rf = rf; AnoLetivo = anoLetivo; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public async Task <IEnumerable <long> > ObterAlunosCodigosInativosPorAnoLetivoETurma(int anoLetivo, long turmaId, DateTime dataInicio, DateTime dataFim, ParametrosCargaInicialDto parametrosCargaInicialDto) { var query = @" SELECT DISTINCT a.cd_aluno AS CodigoAluno FROM v_aluno_cotic aluno (NOLOCK) INNER JOIN aluno a ON aluno.cd_aluno = a.cd_aluno INNER JOIN v_matricula_cotic matr (NOLOCK) ON aluno.cd_aluno = matr.cd_aluno INNER JOIN matricula_turma_escola mte (NOLOCK) ON matr.cd_matricula = mte.cd_matricula INNER JOIN turma_escola te (NOLOCK) ON mte.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola WHERE mte.cd_situacao_aluno IN (2,3,4,7,8,11,12,14,15) AND matr.an_letivo = @anoLetivo AND te.an_letivo = @anoLetivo AND te.cd_turma_escola = @turmaId AND mte.dt_situacao_aluno between @dataInicio and @dataFim AND mte.dt_situacao_aluno = (select max(mte2.dt_situacao_aluno) from v_matricula_cotic matr2(NOLOCK) inner join matricula_turma_escola mte2 (NOLOCK) on mte2.cd_matricula = matr2.cd_matricula where matr2.cd_aluno = a.cd_aluno and matr2.an_letivo = te.an_letivo and mte2.cd_turma_escola = te.cd_turma_escola)" ; var sql = new StringBuilder(query); sql.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); sql.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); sql.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); sql.Append(";"); using var conn = ObterConexao(); return(await conn.QueryAsync <long>(sql.ToString(), new { turmaId, anoLetivo, dataInicio, dataFim, TiposUes = parametrosCargaInicialDto.TiposUes, parametrosCargaInicialDto.Ues, parametrosCargaInicialDto.Turmas, })); }
public async Task <AlunoEol> ObterAlunoParaTratamentoDeErroAsync(long codigoEol, int anoLetivo, ParametrosCargaInicialDto parametrosCargaInicialDto) { var query = MontaQueryAlunosParaInclusao(null, null, codigoEol, parametrosCargaInicialDto); using var conn = ObterConexao(); return(await conn.QuerySingleOrDefaultAsync <AlunoEol>(query, new { anoLetivo = anoLetivo, codigoEol, TiposUes = parametrosCargaInicialDto.TiposUes, parametrosCargaInicialDto.Ues, parametrosCargaInicialDto.Turmas, }, commandTimeout : 6000)); }
private static StringBuilder QueryBuscaMatriculaRegular(DateTime?dataReferecia, long?codigoEol, ParametrosCargaInicialDto parametrosCargaInicialDto) { string query = $@"DECLARE @situacaoAtivo AS CHAR = 1; DECLARE @situacaoPendenteRematricula AS CHAR = 6; DECLARE @situacaoRematriculado AS CHAR = 10; DECLARE @situacaoSemContinuidade AS CHAR = 13; DECLARE @situacaoAtivoInt AS INT = 1; DECLARE @situacaoPendenteRematriculaInt AS INT = 6; DECLARE @situacaoRematriculadoInt AS INT = 10; DECLARE @situacaoSemContinuidadeInt AS INT = 13; -- 1. Busca matrículas regulares IF OBJECT_ID('tempdb..#tempAlunosMatriculasAtivas') IS NOT NULL DROP TABLE #tempAlunosMatriculasAtivas; SELECT aluno.cd_aluno, matr.cd_matricula, matr.dt_status_matricula INTO #tempAlunosMatriculasAtivas FROM v_aluno_cotic aluno (NOLOCK) INNER JOIN aluno a ON aluno.cd_aluno = a.cd_aluno INNER JOIN v_matricula_cotic matr (NOLOCK) ON aluno.cd_aluno = matr.cd_aluno INNER JOIN matricula_turma_escola mte (NOLOCK) ON matr.cd_matricula = mte.cd_matricula INNER JOIN turma_escola te (NOLOCK) ON mte.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola WHERE matr.st_matricula IN (@situacaoAtivo, @situacaoPendenteRematricula, @situacaoRematriculado, @situacaoSemContinuidade) AND mte.cd_situacao_aluno IN (@situacaoAtivoInt, @situacaoPendenteRematriculaInt, @situacaoRematriculadoInt, @situacaoSemContinuidadeInt) AND matr.an_letivo = @anoLetivo {(dataReferecia.HasValue ? "AND matr.dt_status_matricula >= @dataReferencia " : "")} AND te.st_turma_escola in ('O', 'A', 'C') AND te.an_letivo = @anoLetivo AND NOT cd_serie_ensino IS NULL {(codigoEol.HasValue ? @"AND aluno.cd_aluno = @codigoEol " : " ")}" ; var queryBuilder = new StringBuilder(query); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryBuilder.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); queryBuilder.Append(";"); return(queryBuilder); }
public ObterCursosDoAlunoParaIncluirGoogleQuery(long codigoAluno, int anoLetivo, ParametrosCargaInicialDto parametrosCargaInicialDto) { CodigoAluno = codigoAluno; AnoLetivo = anoLetivo; ParametrosCargaInicialDto = parametrosCargaInicialDto; }
public async Task <PaginacaoResultadoDto <AlunoEol> > ObterAlunosQueSeraoRemovidosPorAnoLetivoETurma(ParametrosCargaInicialDto parametrosCargaInicialDto, Paginacao paginacao, int anoLetivo, long turmaId, DateTime dataReferencia, bool ehDataReferenciaPrincipal) { using var conn = ObterConexao(); var querySelectDados = @" SELECT DISTINCT a.cd_aluno AS Codigo, a.nm_aluno AS NomePessoa, a.nm_social_aluno AS NomeSocial, a.dt_nascimento_aluno AS DataNascimento, te.cd_turma_escola AS TurmaId, mte.cd_situacao_aluno as SituacaoMatricula, mte.dt_situacao_aluno as DataSituacao " ; var querySelectCount = "SELECT COUNT(DISTINCT a.cd_aluno) "; var queryFrom = new StringBuilder(@" FROM v_aluno_cotic aluno (NOLOCK) INNER JOIN aluno a ON aluno.cd_aluno = a.cd_aluno INNER JOIN v_matricula_cotic matr (NOLOCK) ON aluno.cd_aluno = matr.cd_aluno INNER JOIN matricula_turma_escola mte (NOLOCK) ON matr.cd_matricula = mte.cd_matricula INNER JOIN turma_escola te (NOLOCK) ON mte.cd_turma_escola = te.cd_turma_escola INNER JOIN escola esc (NOLOCK) ON te.cd_escola = esc.cd_escola WHERE mte.cd_situacao_aluno IN (2,3,4,7,8,11,12,14,15) AND matr.an_letivo = @anoLetivo AND te.an_letivo = @anoLetivo " ); if (turmaId > 0) { queryFrom.AppendLine("AND te.cd_turma_escola = @turmaId "); } if (ehDataReferenciaPrincipal) { queryFrom.AppendLine("AND mte.dt_situacao_aluno = @dataReferencia "); } else { queryFrom.AppendLine("AND mte.dt_situacao_aluno <= @dataReferencia "); } queryFrom.AppendLine(@"and mte.dt_situacao_aluno = (select max(mte2.dt_situacao_aluno) from v_matricula_cotic matr2(NOLOCK) inner join matricula_turma_escola mte2 (NOLOCK) on mte2.cd_matricula = matr2.cd_matricula where matr2.cd_aluno = a.cd_aluno and matr2.an_letivo = te.an_letivo and mte2.cd_turma_escola = te.cd_turma_escola) " ); queryFrom.AdicionarCondicaoIn(parametrosCargaInicialDto.TiposUes, "esc.tp_escola", nameof(parametrosCargaInicialDto.TiposUes)); queryFrom.AdicionarCondicaoIn(parametrosCargaInicialDto.Ues, "te.cd_escola", nameof(parametrosCargaInicialDto.Ues)); queryFrom.AdicionarCondicaoIn(parametrosCargaInicialDto.Turmas, "te.cd_turma_escola", nameof(parametrosCargaInicialDto.Turmas)); var queryPaginacao = @"order by mte.dt_situacao_aluno desc offset @quantidadeRegistrosIgnorados rows fetch next @quantidadeRegistros rows only;" ; var query = new StringBuilder(querySelectDados); query.Append(queryFrom); query.Append(queryPaginacao); query.Append(querySelectCount); query.Append(queryFrom); using var multi = await conn.QueryMultipleAsync(query.ToString(), new { quantidadeRegistros = paginacao.QuantidadeRegistros, quantidadeRegistrosIgnorados = paginacao.QuantidadeRegistrosIgnorados, anoLetivo, dataReferencia, turmaId }, commandTimeout : 6000); var retorno = new PaginacaoResultadoDto <AlunoEol> { Items = multi.Read <AlunoEol>(), TotalRegistros = multi.ReadFirst <int>() }; retorno.TotalPaginas = paginacao.QuantidadeRegistros > 0 ? (int)Math.Ceiling((double)retorno.TotalRegistros / paginacao.QuantidadeRegistros) : 1; return(retorno); }
public ArquivarTurmasExtintasCommand(ParametrosCargaInicialDto parametrosCargaInicialDto, long?turmaId = null, DateTime?dataReferencia = null) { TurmaId = turmaId; DataReferencia = dataReferencia; ParametrosCargaInicialDto = parametrosCargaInicialDto; }