private IndicativoFrequenciaDto ObterIndicativoFrequencia(AlunoPorTurmaResposta aluno, string disciplinaId, PeriodoEscolarDto bimestre, int percentualAlerta, int percentualCritico) { var frequenciaAluno = repositorioFrequenciaAlunoDisciplinaPeriodo.Obter(aluno.CodigoAluno, disciplinaId, bimestre.PeriodoInicio, bimestre.PeriodoFim, TipoFrequenciaAluno.PorDisciplina); // Frequencia não calculada if (frequenciaAluno == null) { return(null); } int percentualFrequencia = (int)Math.Round(frequenciaAluno.PercentualFrequencia, 0); // Critico if (percentualFrequencia <= percentualCritico) { return new IndicativoFrequenciaDto() { Tipo = TipoIndicativoFrequencia.Critico, Percentual = percentualFrequencia } } ; // Alerta if (percentualFrequencia <= percentualAlerta) { return new IndicativoFrequenciaDto() { Tipo = TipoIndicativoFrequencia.Alerta, Percentual = percentualFrequencia } } ; return(null); }
private void IncluirEventoMatricula(AlunoPorTurmaResposta aluno) { repositorioEventoMatricula.Salvar(new EventoMatricula() { CodigoAluno = aluno.CodigoAluno, DataEvento = aluno.DataSituacao, Tipo = aluno.CodigoSituacaoMatricula, // Tranferencia interna e Remanejamento detalham escola e turma NomeEscola = aluno.EscolaTransferencia, NomeTurma = !string.IsNullOrEmpty(aluno.TurmaTransferencia) ? aluno.TurmaTransferencia : aluno.TurmaRemanejamento }); }
private IndicativoFrequenciaDto ObterIndicativoFrequencia(AlunoPorTurmaResposta aluno, string disciplinaId, PeriodoEscolar bimestre, int percentualAlerta, int percentualCritico) { var frequenciaAluno = repositorioFrequenciaAlunoDisciplinaPeriodo.Obter(aluno.CodigoAluno, disciplinaId, bimestre.Id, TipoFrequenciaAluno.PorDisciplina, aluno.CodigoTurma.ToString()); // Frequencia não calculada if (frequenciaAluno == null) { if (aluno.PodeEditarNotaConceito()) { return new IndicativoFrequenciaDto() { Tipo = TipoIndicativoFrequencia.Info, Percentual = 100 } } ; return(null); } int percentualFrequencia = (int)Math.Round(frequenciaAluno.PercentualFrequencia, 0); // Critico if (percentualFrequencia <= percentualCritico) { return new IndicativoFrequenciaDto() { Tipo = TipoIndicativoFrequencia.Critico, Percentual = percentualFrequencia } } ; // Alerta if (percentualFrequencia <= percentualAlerta) { return new IndicativoFrequenciaDto() { Tipo = TipoIndicativoFrequencia.Alerta, Percentual = percentualFrequencia } } ; return(new IndicativoFrequenciaDto() { Tipo = TipoIndicativoFrequencia.Info, Percentual = percentualFrequencia }); }
public MarcadorFrequenciaDto ObterMarcadorAluno(AlunoPorTurmaResposta aluno, PeriodoEscolar bimestre, bool ehInfantil = false) { MarcadorFrequenciaDto marcador = null; string dataSituacao = $"{aluno.DataSituacao.Day}/{aluno.DataSituacao.Month}/{aluno.DataSituacao.Year}"; switch (aluno.CodigoSituacaoMatricula) { case SituacaoMatriculaAluno.Ativo: // Macador "Novo" durante 15 dias se iniciou depois do inicio do bimestre if ((aluno.DataSituacao > bimestre.PeriodoInicio) && (aluno.DataSituacao.AddDays(15) >= DateTime.Now.Date)) { marcador = new MarcadorFrequenciaDto() { Tipo = TipoMarcadorFrequencia.Novo, Descricao = $"{(ehInfantil ? "Criança Nova" : "Estudante Novo")}: Data da matrícula {dataSituacao}" } } ; break; case SituacaoMatriculaAluno.Transferido: var detalheEscola = aluno.Transferencia_Interna ? $"para escola {aluno.EscolaTransferencia} e turma {aluno.TurmaTransferencia}" : "para outras redes"; marcador = new MarcadorFrequenciaDto() { Tipo = TipoMarcadorFrequencia.Transferido, Descricao = $"{(ehInfantil ? "Criança Transferida" : "Estudante Transferido")}: {detalheEscola} em {dataSituacao}" }; break; case SituacaoMatriculaAluno.RemanejadoSaida: marcador = new MarcadorFrequenciaDto() { Tipo = TipoMarcadorFrequencia.Remanejado, Descricao = $"{(ehInfantil ? "Criança Remanejada" : "Estudante Remanejado")}: turma {aluno.TurmaRemanejamento} em {dataSituacao}" }; break; case SituacaoMatriculaAluno.Desistente: case SituacaoMatriculaAluno.VinculoIndevido: case SituacaoMatriculaAluno.Falecido: case SituacaoMatriculaAluno.NaoCompareceu: case SituacaoMatriculaAluno.Deslocamento: case SituacaoMatriculaAluno.Cessado: case SituacaoMatriculaAluno.ReclassificadoSaida: marcador = new MarcadorFrequenciaDto() { Tipo = TipoMarcadorFrequencia.Inativo, Descricao = $"{(ehInfantil ? "Criança Inativa" : "Estudante Inativo")} em {dataSituacao}" }; break; default: break; } return(marcador); }
private void TrataPeriodosEscolaresParaAluno(FechamentoFinalConsultaFiltroDto filtros, AlunoPorTurmaResposta aluno, ref int totalAusencias, ref int totalAusenciasCompensadas, ref int totalDeAulas, PeriodoEscolar periodo) { var frequenciaAluno = repositorioFrequenciaAlunoDisciplinaPeriodo.ObterPorAlunoData(aluno.CodigoAluno, periodo.PeriodoFim, TipoFrequenciaAluno.PorDisciplina, filtros.DisciplinaCodigo.ToString()); if (frequenciaAluno != null) { totalAusencias += frequenciaAluno.TotalAusencias; totalAusenciasCompensadas += frequenciaAluno.TotalCompensacoes; totalDeAulas += frequenciaAluno.TotalAulas; } }
private async Task <FechamentoFinalConsultaRetornoAlunoDto> TrataFrequenciaAluno(FechamentoFinalConsultaFiltroDto filtros, IEnumerable <PeriodoEscolar> periodosEscolares, AlunoPorTurmaResposta aluno, Turma turma) { var frequenciaAluno = await consultasFrequencia.ObterFrequenciaGeralAlunoPorTurmaEComponente(aluno.CodigoAluno, turma.CodigoTurma, filtros.DisciplinaCodigo.ToString()); var percentualFrequencia = frequenciaAluno?.PercentualFrequencia ?? 100; if (frequenciaAluno != null && turma.AnoLetivo.Equals(2020)) { percentualFrequencia = frequenciaAluno.PercentualFrequenciaFinal; } var fechamentoFinalAluno = new FechamentoFinalConsultaRetornoAlunoDto { Nome = aluno.NomeAluno, TotalAusenciasCompensadas = frequenciaAluno?.TotalCompensacoes ?? 0, Frequencia = percentualFrequencia, TotalFaltas = frequenciaAluno?.TotalAusencias ?? 0, NumeroChamada = aluno.NumeroAlunoChamada }; return(fechamentoFinalAluno); }
private static NotaConceito ObterNotaParaVisualizacao(IEnumerable <NotaConceito> notas, AlunoPorTurmaResposta aluno, AtividadeAvaliativa atividadeAvaliativa) { var notaDoAluno = notas.FirstOrDefault(a => a.AlunoId == aluno.CodigoAluno && a.AtividadeAvaliativaID == atividadeAvaliativa.Id); return(notaDoAluno); }
private static bool PodeEditarNotaOuConceito(Usuario usuarioLogado, string professorTitularDaTurmaDisciplinaRf, AtividadeAvaliativa atividadeAvaliativa, AlunoPorTurmaResposta aluno) { if (atividadeAvaliativa.DataAvaliacao >= aluno.DataSituacao && (aluno.CodigoSituacaoMatricula != SituacaoMatriculaAluno.Ativo && aluno.CodigoSituacaoMatricula != SituacaoMatriculaAluno.PendenteRematricula && aluno.CodigoSituacaoMatricula != SituacaoMatriculaAluno.Rematriculado && aluno.CodigoSituacaoMatricula != SituacaoMatriculaAluno.SemContinuidade)) { return(false); } if (atividadeAvaliativa.DataAvaliacao.Date > DateTime.Today) { return(false); } if (usuarioLogado.PerfilAtual == Perfis.PERFIL_CJ) { if (atividadeAvaliativa.CriadoRF != usuarioLogado.CodigoRf) { return(false); } } else { if (usuarioLogado.CodigoRf != professorTitularDaTurmaDisciplinaRf) { return(false); } } return(true); }