use of com.tomasio.projects.trainning.dto.ConclusaoDTO in project trainning by fernandotomasio.
the class TurmasEfetivasController method showDesligadosPorOresp.
// relatório de desligados nas turmas da ORESP
@RequestMapping({ "/desligados_por_oresp" })
public String showDesligadosPorOresp(Model model, DesligadosSearchForm searchForm, BindingResult bindingResult, @ModelAttribute("userOrganization") OrganizacaoDTO userOrganization, WebRequest request) {
SimpleDateFormat dfYear = new SimpleDateFormat("yyyy");
SimpleDateFormat dfDate = new SimpleDateFormat("yyyyMMdd");
Date exercicio = null;
if (searchForm.getAno() != null) {
try {
exercicio = dfYear.parse(searchForm.getAno());
} catch (ParseException ex) {
Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (exercicio == null) {
try {
// exercicio = dfYear.parse("2015");
// DEVE MOSTRAR O ANO VIGENTE
exercicio = (Date) dfYear.parse(dfYear.format(new Date()));
} catch (ParseException ex) {
Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
}
searchForm.setAno(dfYear.format(exercicio));
}
if (searchForm.getOrganizacaoRespId() == null || searchForm.getOrganizacaoRespId().equals("")) {
searchForm.setOrganizacaoRespId(userOrganization.getId().toString());
}
// TurmaEfetivaDTO[] turmas = null;
ConclusaoDTO[] conclusoesSemAproveitamento;
conclusoesSemAproveitamento = atividadesEnsinoService.findAllConcluidosTurmasOresp(Long.parseLong(searchForm.getOrganizacaoRespId()), exercicio, false, searchForm.getSearch());
List conclusoesDataList = new ArrayList();
List quebrasDataList = new ArrayList();
int contQuebras = 0;
int contDesligTurma = 0;
String turmaAnterior = "";
for (ConclusaoDTO conclusao : conclusoesSemAproveitamento) {
Map item = new HashMap();
item.put("id", conclusao.getId());
// dados do al
MatriculaAlunoDTO matricula = (MatriculaAlunoDTO) atividadesEnsinoService.findMatricula(conclusao.getMatricula().getId());
String turma = matricula.getTurma().getCurso().getCodigo() + "-" + matricula.getTurma().getNumeroTurma();
item.put("turmaId", matricula.getTurma().getId());
item.put("turma", turma);
// item.put("codigo", matricula.getTurma().getCurso().getCodigo());
// item.put("numero", matricula.getTurma().getNumeroTurma());
item.put("extra", matricula.getTurma().isExtra());
item.put("descricao", matricula.getTurma().getCurso().getDescricao());
item.put("local", matricula.getTurma().getLocal());
OrganizacaoDTO responsavel = organizationalService.findOrganizacao(matricula.getTurma().getResponsavelId());
item.put("responsavel", responsavel.getSigla());
item.put("dataInicio", matricula.getTurma().getDataInicioFormatted());
item.put("dataTermino", matricula.getTurma().getDataTerminoFormatted());
if (matricula.getTurma().getDataInicio() != null) {
item.put("dataInicioHidden", dfDate.format(matricula.getTurma().getDataInicio()));
} else {
item.put("dataInicioHidden", "9999");
}
if (matricula.getTurma().getDataTermino() != null) {
item.put("dataTerminoHidden", dfDate.format(matricula.getTurma().getDataTermino()));
} else {
item.put("dataTerminoHidden", "9999");
}
// dados da pessoa
if (conclusao.getPessoa().getOrganizacao() != null && conclusao.getPessoa().getOrganizacao().getId() != null) {
OrganizacaoDTO omDoAluno = organizationalService.findOrganizacao(conclusao.getPessoa().getOrganizacao().getId());
item.put("omDoAluno", omDoAluno.getSigla());
} else {
item.put("omDoAluno", "");
}
item.put("aluno", conclusao.getPessoa().getTargetaCompleta());
item.put("saram", conclusao.getPessoa().getSaram());
// dados da conclusao
item.put("motivo", conclusao.getObservacao());
// controle do quebraTable para passar para a view quando é para quebrar a tabela
if (turmaAnterior.equals("")) {
// apenas preencher linha da tabela
item.put("quebraTable", "false");
} else if (turmaAnterior.equals(turma)) {
// apenas preencher linha da tabela
item.put("quebraTable", "false");
} else {
// não sendo o primeiro registro da lista ou a turma atual igual a anterior
contQuebras++;
Map quebra = new HashMap();
quebra.put("id", contQuebras);
quebra.put("contDesligTurma", contDesligTurma);
quebrasDataList.add(quebra);
// verificador para: fechar tabela anterior; criar tabela nova; e preencher primeira linha
item.put("quebraTable", "true");
// para informar no fechamento da tabela anterior
item.put("contQuebras", contQuebras);
// reinicia a contagem de desligados
contDesligTurma = 0;
}
conclusoesDataList.add(item);
// fim do loop - turmaAnterior recebe turma atual
contDesligTurma++;
turmaAnterior = turma;
}
contQuebras++;
Map quebra = new HashMap();
quebra.put("id", contQuebras);
quebra.put("contDesligTurma", contDesligTurma);
quebrasDataList.add(quebra);
model.addAttribute("quebrasDataList", quebrasDataList);
model.addAttribute("totalQuebras", quebrasDataList.size());
OrganizacaoDTO[] organizacoes = organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId());
model.addAttribute("organizacoes", organizacoes);
model.addAttribute("total", conclusoesDataList.size());
model.addAttribute("searchForm", searchForm);
model.addAttribute("conclusoesDataList", conclusoesDataList);
return "turmas_efetivas/desligados_por_oresp";
}
use of com.tomasio.projects.trainning.dto.ConclusaoDTO in project trainning by fernandotomasio.
the class TurmasEfetivasController method desligaAluno.
@RequestMapping("/desliga_aluno")
public String desligaAluno(Model model, WebRequest request, final RedirectAttributes redirectAttributes) {
// PROCESSO SEMELHANTE AO DE CONCLUSÂO DA TURMA
// CONTUDO NESTE A LISTA PASSADA SERÁ COM APENAS O APRESENTADO SELECIONADO
String apresentacaoId = request.getParameter("apresentacaoId");
ApresentacaoDTO apresentacaoAluno = atividadesEnsinoService.findApresentacao(Long.parseLong(apresentacaoId));
MatriculaDTO matriculaAluno = atividadesEnsinoService.findMatricula(apresentacaoAluno.getMatricula().getId());
// verificar se o aluno já possui conclusão
ConclusaoDTO conclusaoAluno = atividadesEnsinoService.findConclusaoByMatricula(matriculaAluno.getId());
if (conclusaoAluno == null) {
List<Map<Object, Object>> dataList = new ArrayList<Map<Object, Object>>();
Map<Object, Object> item = new HashMap<Object, Object>();
item.put("id", matriculaAluno.getId().toString());
item.put("targetaCompleta", matriculaAluno.getPessoa().getTargetaCompleta());
item.put("comparecimento", apresentacaoAluno.isComparecimento());
// flag para conclusão individual
item.put("desligaAluno", true);
dataList.add(item);
model.addAttribute("dataList", dataList);
model.addAttribute("total", dataList.size());
return "turmas_efetivas/form_conclusao";
} else {
// existe conclusão para este aluno
redirectAttributes.addFlashAttribute("errorMessage", "Este aluno já possui conclusão!!!");
model.addAttribute("tab", "apresentacoes");
return "redirect:detail/apresentacoes";
}
}
use of com.tomasio.projects.trainning.dto.ConclusaoDTO in project trainning by fernandotomasio.
the class TurmasEfetivasController method showAlunosDaOM.
// relatório de alunos da OM
@RequestMapping({ "/alunos_da_om" })
public String showAlunosDaOM(Model model, AlunosSearchForm searchForm, BindingResult bindingResult, @ModelAttribute("userOrganization") OrganizacaoDTO userOrganization, WebRequest request) {
SimpleDateFormat dfYear = new SimpleDateFormat("yyyy");
SimpleDateFormat dfDate = new SimpleDateFormat("yyyyMMdd");
Date exercicio = null;
if (searchForm.getAno() != null) {
try {
exercicio = dfYear.parse(searchForm.getAno());
} catch (ParseException ex) {
Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (exercicio == null) {
try {
// exercicio = dfYear.parse("2015");
// DEVE MOSTRAR O ANO VIGENTE
exercicio = (Date) dfYear.parse(dfYear.format(new Date()));
} catch (ParseException ex) {
Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
}
searchForm.setAno(dfYear.format(exercicio));
}
if (searchForm.getOrganizacaoId() == null || searchForm.getOrganizacaoId().equals("")) {
searchForm.setOrganizacaoId(userOrganization.getId().toString());
}
MatriculaDTO[] matriculas;
matriculas = atividadesEnsinoService.findAllMatriculasAlunosDaOM(Long.parseLong(searchForm.getOrganizacaoId()), exercicio, searchForm.getSearch());
List matriculasDataList = new ArrayList();
for (MatriculaDTO matricula : matriculas) {
Map item = new HashMap();
item.put("id", matricula.getId());
// puxar a turma da matricula
TurmaEfetivaDTO turmaEfetiva = atividadesEnsinoService.findTurmaEfetiva(matricula.getTurma().getId());
String turma = turmaEfetiva.getCurso().getCodigo() + "-" + turmaEfetiva.getNumeroTurma();
item.put("turmaId", turmaEfetiva.getId());
item.put("turma", turma);
// item.put("codigo", matricula.getTurma().getCurso().getCodigo());
// item.put("numero", matricula.getTurma().getNumeroTurma());
item.put("extra", turmaEfetiva.isExtra());
item.put("descricao", turmaEfetiva.getCurso().getDescricao());
item.put("local", turmaEfetiva.getLocal());
OrganizacaoDTO responsavel = organizationalService.findOrganizacao(turmaEfetiva.getResponsavelId());
item.put("responsavel", responsavel.getSigla());
item.put("dataInicio", turmaEfetiva.getDataInicioFormatted());
item.put("dataTermino", turmaEfetiva.getDataTerminoFormatted());
if (turmaEfetiva.getDataInicio() != null) {
item.put("dataInicioHidden", dfDate.format(turmaEfetiva.getDataInicio()));
} else {
item.put("dataInicioHidden", "9999");
}
if (turmaEfetiva.getDataTermino() != null) {
item.put("dataTerminoHidden", dfDate.format(turmaEfetiva.getDataTermino()));
} else {
item.put("dataTerminoHidden", "9999");
}
// dados da pessoa
item.put("aluno", matricula.getPessoa().getTargetaCompleta());
item.put("saram", matricula.getPessoa().getSaram());
if (matricula.getPessoa().getOrganizacao() != null && matricula.getPessoa().getOrganizacao().getId() != null) {
OrganizacaoDTO omDoAluno = organizationalService.findOrganizacao(matricula.getPessoa().getOrganizacao().getId());
item.put("omDoAluno", omDoAluno.getSigla());
} else {
item.put("omDoAluno", "");
}
// verificar se vai filtrar pelo status
if (searchForm.getStatus() == null || searchForm.getStatus().equals("")) {
// não vai filtra - preencher em todos os caso e add na lista
// preencher o status
CancelamentoMatriculaDTO cancelada = atividadesEnsinoService.findCancelamentoMatriculaByMatricula(matricula.getId());
if (cancelada != null) {
// tem cancelamento
item.put("status", "CANCELADO");
item.put("motivo", cancelada.getObservacao());
item.put("cssClass", "danger");
} else {
// nao tem cancelamento
// verificar se tem conclusão
ConclusaoDTO conclusao = atividadesEnsinoService.findConclusaoByMatricula(matricula.getId());
if (conclusao != null) {
item.put("conclusaoId", conclusao.getId());
// verificar se é com aproveitamento ou sem
if (conclusao.isComAproveitamento()) {
item.put("status", "APROVADO");
item.put("motivo", "");
item.put("cssClass", "success");
} else {
item.put("status", "DESLIGADO");
item.put("motivo", conclusao.getObservacao());
item.put("cssClass", "warning");
}
} else {
// nao tem cancelamento e nem conclusão
// em andamento
item.put("status", "CURSANDO");
item.put("motivo", "");
item.put("cssClass", "default");
}
}
matriculasDataList.add(item);
} else {
CancelamentoMatriculaDTO cancelada = atividadesEnsinoService.findCancelamentoMatriculaByMatricula(matricula.getId());
ConclusaoDTO conclusao = atividadesEnsinoService.findConclusaoByMatricula(matricula.getId());
// se for diferente do status passado não inclui na lista
switch(searchForm.getStatus()) {
case "CANCELADO":
// preencher o status
if (cancelada != null) {
// tem cancelamento
item.put("status", "CANCELADO");
item.put("motivo", cancelada.getObservacao());
item.put("cssClass", "danger");
matriculasDataList.add(item);
}
break;
case "APROVADO":
if (cancelada == null && conclusao != null && conclusao.isComAproveitamento()) {
item.put("conclusaoId", conclusao.getId());
item.put("status", "APROVADO");
item.put("motivo", "");
item.put("cssClass", "success");
matriculasDataList.add(item);
}
break;
case "DESLIGADO":
if (cancelada == null && conclusao != null && !conclusao.isComAproveitamento()) {
item.put("conclusaoId", conclusao.getId());
item.put("status", "DESLIGADO");
item.put("motivo", conclusao.getObservacao());
item.put("cssClass", "warning");
matriculasDataList.add(item);
}
break;
case "CURSANDO":
if (cancelada == null && conclusao == null) {
// nao tem cancelamento e nem conclusão
// em andamento
item.put("status", "CURSANDO");
item.put("motivo", "");
item.put("cssClass", "default");
matriculasDataList.add(item);
}
break;
}
}
}
OrganizacaoDTO[] organizacoes = organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId());
model.addAttribute("organizacoes", organizacoes);
model.addAttribute("total", matriculasDataList.size());
model.addAttribute("searchForm", searchForm);
model.addAttribute("matriculasDataList", matriculasDataList);
return "turmas_efetivas/alunos_da_om";
}
use of com.tomasio.projects.trainning.dto.ConclusaoDTO in project trainning by fernandotomasio.
the class TurmasEfetivasController method listConclusoes.
@RequestMapping("/detail/conclusoes")
public String listConclusoes(Model model, WebRequest request, @ModelAttribute("turma") TurmaEfetivaDTO turma) {
// busca todos os apresentados com comparecimento
// ApresentacaoDTO[] alunosApresentadosNaoConcluido = atividadesEnsinoService.findAllApresentacoesNaoConcluidasByTurmaId(turma.getId());
ApresentacaoDTO[] alunosApresentados = atividadesEnsinoService.findAllApresentacoesByTurmaId(turma.getId());
// busca e ordena por nome os apresentados concluintes
ConclusaoDTO[] conclusoesComAproveitamento = atividadesEnsinoService.findAllConcluidosByTurma(turma.getId(), true);
ConclusaoDTO[] conclusoesSemAproveitamento = atividadesEnsinoService.findAllConcluidosByTurma(turma.getId(), false);
Arrays.sort(conclusoesComAproveitamento, new Comparator<ConclusaoDTO>() {
@Override
public int compare(ConclusaoDTO o1, ConclusaoDTO o2) {
return o1.getPessoa().getNome().compareTo(o2.getPessoa().getNome());
}
});
Arrays.sort(conclusoesSemAproveitamento, new Comparator<ConclusaoDTO>() {
@Override
public int compare(ConclusaoDTO o1, ConclusaoDTO o2) {
return o1.getPessoa().getNome().compareTo(o2.getPessoa().getNome());
}
});
// List conclusoesComAproveitamento
List<Map<Object, Object>> dataList = new ArrayList<Map<Object, Object>>();
// correr a lista de concluídos com aproveitamento para filtrar os não certificados
for (ConclusaoDTO conclusao : conclusoesComAproveitamento) {
Map<Object, Object> item = new HashMap<Object, Object>();
item.put("targetaCompletaOM", conclusao.getPessoa().getTargetaCompletaOM());
MatriculaDTO maticula = atividadesEnsinoService.findMatricula(conclusao.getMatricula().getId());
item.put("indicacao", maticula.getIndicacao().getId());
item.put("id", conclusao.getId());
item.put("observacao", conclusao.getObservacao());
item.put("dataOperacao", conclusao.getDataOperacao());
String operador = "Não Informado";
if (conclusao.getOperador() != null && !"".equals(conclusao.getOperador())) {
NetworkUserDTO usuario = userService.findUser(conclusao.getOperador());
// operador = usuario.getTarjeta() + " (" + usuario.getOrganizacao() + ")";
if (usuario != null) {
operador = usuario.getTarjeta();
} else {
operador = conclusao.getOperador();
}
}
item.put("operador", operador);
// ajuste para COMGAP 14/12/2015 - Ten Aguiar
if (conclusao.getPessoa().getOrganizacao() != null && conclusao.getPessoa().getOrganizacao().getId() != null) {
OrganizacaoDTO omDoAluno = organizationalService.findOrganizacao(conclusao.getPessoa().getOrganizacao().getId());
item.put("omDoAluno", omDoAluno.getSigla());
} else {
item.put("omDoAluno", "");
}
dataList.add(item);
}
// List conclusoesSemAproveitamento
List<Map<Object, Object>> dataListSem = new ArrayList<Map<Object, Object>>();
// correr a lista de concluídos com aproveitamento para filtrar os não certificados
for (ConclusaoDTO conclusao : conclusoesSemAproveitamento) {
Map<Object, Object> item = new HashMap<Object, Object>();
item.put("targetaCompletaOM", conclusao.getPessoa().getTargetaCompletaOM());
MatriculaDTO maticula = atividadesEnsinoService.findMatricula(conclusao.getMatricula().getId());
item.put("indicacao", maticula.getIndicacao().getId());
item.put("id", conclusao.getId());
item.put("observacao", conclusao.getObservacao());
item.put("dataOperacao", conclusao.getDataOperacao());
String operador = "Não Informado";
if (conclusao.getOperador() != null && !"".equals(conclusao.getOperador())) {
NetworkUserDTO usuario = userService.findUser(conclusao.getOperador());
// operador = usuario.getTarjeta() + " (" + usuario.getOrganizacao() + ")";
if (usuario != null) {
operador = usuario.getTarjeta();
} else {
operador = conclusao.getOperador();
}
}
item.put("operador", operador);
// ajuste para COMGAP 14/12/2015 - Ten Aguiar
if (conclusao.getPessoa().getOrganizacao() != null && conclusao.getPessoa().getOrganizacao().getId() != null) {
OrganizacaoDTO omDoAluno = organizationalService.findOrganizacao(conclusao.getPessoa().getOrganizacao().getId());
item.put("omDoAluno", omDoAluno.getSigla());
} else {
item.put("omDoAluno", "");
}
dataListSem.add(item);
}
// busca os apresentados não concluintes
MatriculaDTO[] matriculasAlunosNaoConcluido = atividadesEnsinoService.findAllMatriculasAlunosApresentadosNaoConcluidos(turma.getId());
// passa os concluidos e total
model.addAttribute("conclusoesComAproveitamento", dataList);
model.addAttribute("totalComAproveitamento", conclusoesComAproveitamento.length);
model.addAttribute("conclusoesSemAproveitamento", dataListSem);
model.addAttribute("totalSemAproveitamento", conclusoesSemAproveitamento.length);
// passa o total de não concluidos
model.addAttribute("totalAlunosNaoConcluido", matriculasAlunosNaoConcluido.length);
// passa o total de apresentados
model.addAttribute("totalAlunosApresentados", alunosApresentados.length);
model.addAttribute("tab", "concluidos");
return "turmas_efetivas/detail/conclusoes";
}
use of com.tomasio.projects.trainning.dto.ConclusaoDTO in project trainning by fernandotomasio.
the class TurmasEfetivasController method newCertificadoTurma.
@RequestMapping("/novo_certificado_turma")
public String newCertificadoTurma(Model model, WebRequest request, @ModelAttribute("turma") @Valid TurmaEfetivaDTO turma) {
// passar os concluídos com sucesso
// buscar todos os concluídos com aproveitamento
// busca e ordena por nome os apresentados concluintes com aproveitamento
ConclusaoDTO[] conclusoesComAproveitamento = atividadesEnsinoService.findAllConcluidosByTurma(turma.getId(), true);
Arrays.sort(conclusoesComAproveitamento, new Comparator<ConclusaoDTO>() {
@Override
public int compare(ConclusaoDTO o1, ConclusaoDTO o2) {
return o1.getPessoa().getNome().compareTo(o2.getPessoa().getNome());
}
});
model.addAttribute("conclusoesComAproveitamento", conclusoesComAproveitamento);
model.addAttribute(new CertificadoConclusaoForm());
return "turmas_efetivas/form_certificado";
}
Aggregations