use of com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO in project trainning by fernandotomasio.
the class MainPlanejamentoController method showIndex.
@RequestMapping({ "/", "/index", "" })
public String showIndex(Model model, @ModelAttribute("topOrganization") OrganizacaoDTO topOrganization, @ModelAttribute("userOrganization") OrganizacaoDTO userOrganization, WebRequest request) {
String planejamentoIdParam = request.getParameter("planejamentoId");
if (planejamentoIdParam == null || planejamentoIdParam.equals("") || planejamentoIdParam.equals("NULL")) {
PlanejamentoDTO[] planejamentos = planningService.findAllPlanejamentos(topOrganization.getId());
List<PlanejamentoDTO> listPlanejamento = new ArrayList<PlanejamentoDTO>();
for (PlanejamentoDTO p : planejamentos) {
if (p.getExercicioFormatted().equals("2018")) {
listPlanejamento.add(p);
}
}
if (planejamentos.length == 1) {
planejamentoIdParam = planejamentos[0].getId().toString();
} else {
model.addAttribute("planejamentos", listPlanejamento);
return "planejamento/select_planejamento";
}
}
PlanejamentoDTO planejamento = planningService.findPlanejamento(Long.parseLong(planejamentoIdParam));
if (planejamento == null) {
return "404";
}
model.addAttribute("planejamento", planejamento);
// Long organizacaoId = Long.parseLong("419"); //PAME
// Long organizacaoId = Long.parseLong("112402"); //SDTE
Long organizacaoId = userOrganization.getId();
// TODO: Checar responsabilidade por permissões de acesso e não pelo topOrganizacao
List<AreaDTO> areasSobResponsabilidade;
if (organizacaoId == topOrganization.getId()) {
areasSobResponsabilidade = Arrays.asList(trainningService.findAllAreasByPlanejamentoId(Long.parseLong(planejamentoIdParam)));
} else {
areasSobResponsabilidade = Arrays.asList(planningService.findAllAreasSobResponsabilidade(Long.parseLong(planejamentoIdParam), organizacaoId));
}
if (areasSobResponsabilidade.isEmpty()) {
// return "403";
areasSobResponsabilidade = Arrays.asList(trainningService.findAllAreasByPlanejamentoId(Long.parseLong(planejamentoIdParam)));
}
String areaIdParam = request.getParameter("areaId");
if (areaIdParam == null || areaIdParam.equals("") || areaIdParam.equals("NULL")) {
Collections.sort(areasSobResponsabilidade, new Comparator<AreaDTO>() {
@Override
public int compare(AreaDTO o1, AreaDTO o2) {
return o1.getSigla().compareTo(o2.getSigla());
}
});
AreaDTO[] areas = areasSobResponsabilidade.toArray(new AreaDTO[areasSobResponsabilidade.size()]);
// TODO: mostrar áreas sob responsabilidade para quem não é administrador,
// mostrar todas para quem é.
// AreaDTO[] areas = trainningService.findAllAreasByPlanejamentoId(Long.parseLong(planejamentoIdParam));
model.addAttribute("areas", areas);
return "planejamento/select_area";
}
AreaDTO area = trainningService.findArea(Long.parseLong(areaIdParam));
if (area == null) {
return "404";
}
model.addAttribute("area", area);
ItemPlanejamentoDTO[] itensPlanejamento = planningService.findAllItensPlanejamentoByAreaId(area.getId(), planejamento.getId());
/**
* Colunas na tabela de cursos indicando se o responsável já finalizou
* sua análise
*
* ResponsavelAreaDTO[] responsaveisAnalise =
* planningService.findAllResponsaveisAnalise(planejamento.getId(),
* area.getId()); model.addAttribute("responsaveisAnalise",
* responsaveisAnalise);
*/
model.addAttribute("itensPlanejamento", itensPlanejamento);
return null;
}
use of com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO in project trainning by fernandotomasio.
the class MainPlanejamentoController method saveTurmaPlanejada.
@RequestMapping("/save_turma")
public String saveTurmaPlanejada(Model model, @Valid TurmaPlanejadaForm turmaPlanejada, BindingResult bindingResult, WebRequest request) {
String planejamentoId = request.getParameter("planejamentoId");
SimpleDateFormat dfFull = new SimpleDateFormat("dd/MM/yyyy");
String[] descricoes = request.getParameterValues("descricao");
String[] datasInicio = request.getParameterValues("dataInicio");
String[] datasTermino = request.getParameterValues("dataTermino");
String[] locaisId = request.getParameterValues("local");
if (bindingResult.hasErrors()) {
ItemPlanejamentoDTO[] itensPlanejamento = planningService.findAllItensPlanejamentoByPlanejamentoId(Long.parseLong(planejamentoId));
model.addAttribute("itensPlanejamento", itensPlanejamento);
return "planejamento/turma_form";
}
TurmaPlanejadaDTO dto = new TurmaPlanejadaDTO();
dto.setItemPlanejamento(planningService.findItemPlanejamento(turmaPlanejada.getItemPlanejamentoId()));
dto.setId(turmaPlanejada.getId());
dto.setResponsavelId(turmaPlanejada.getResponsavelId());
dto.setCurso(planningService.findItemPlanejamento(turmaPlanejada.getItemPlanejamentoId()).getCurso());
dto.setNumeroTurma(turmaPlanejada.getNumeroTurma());
dto.setQuantidadeVagas(turmaPlanejada.getQuantidadeVagas());
FaseDTO[] fases = new FaseDTO[descricoes.length];
for (int i = 0; i < fases.length; i++) {
FaseDTO fase = new FaseDTO();
if (datasInicio[i] != null && !datasInicio[i].equals("")) {
try {
fase.setDataInicio(dfFull.parse(datasInicio[i]));
} catch (ParseException ex) {
Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (datasTermino[i] != null && !datasTermino[i].equals("")) {
try {
fase.setDataTermino(dfFull.parse(datasTermino[i]));
} catch (ParseException ex) {
Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
}
}
fase.setDescricao(descricoes[i]);
if (locaisId[i] != null && !locaisId[i].equals("")) {
fase.setLocal(organizationalService.findOrganizacao(Long.parseLong(locaisId[i])));
}
fases[i] = fase;
}
dto.setFases(fases);
if (turmaPlanejada.getId() > 0) {
planningService.updateTurma(dto);
} else {
Long id = planningService.createTurma(dto);
dto.setId(id);
}
dto = (TurmaPlanejadaDTO) planningService.findTurma(dto.getId());
model.addAttribute("turma", dto);
model.addAttribute("fases", dto.getFases());
model.addAttribute("organizacoes", organizationalService.findAllOrganizacoes());
return "planejamento/detail_turma";
}
use of com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO in project trainning by fernandotomasio.
the class MainPlanejamentoController method showDetail.
@RequestMapping("/detail")
public String showDetail(Model model, WebRequest request) {
String itemPlanejamentoId = request.getParameter("itemPlanejamentoId");
ItemPlanejamentoDTO itemPlanejamento = planningService.findItemPlanejamento(Long.parseLong(itemPlanejamentoId));
TurmaPlanejadaDTO[] turmasPlanejadas = planningService.findAllTurmasPlanejadas(itemPlanejamento.getPlanejamento().getId(), null, itemPlanejamento.getCurso().getId(), null);
int totalVagas = 0;
int totalDisponivel = 0;
for (TurmaPlanejadaDTO turmaPlanejada : turmasPlanejadas) {
totalVagas += turmaPlanejada.getQuantidadeVagas();
totalDisponivel += turmaPlanejada.getVagasDisponiveis();
}
model.addAttribute("totalVagas", totalVagas);
model.addAttribute("totalDisponivel", totalDisponivel);
HabilitacaoInstrutorEfetivaDTO[] instrutores = instructorsService.findAllHabilitacoesInstrutoresAtivas(itemPlanejamento.getCurso().getId(), null, null);
int totalInstrutores = instrutores.length;
int totalSolicitado = 0;
FolhaRostoDTO folhaRosto = planningService.findFolhaRosto(itemPlanejamento.getCurso().getCodigo());
model.addAttribute("folhaRosto", folhaRosto);
model.addAttribute("itemPlanejamento", itemPlanejamento);
model.addAttribute("turmasPlanejadas", turmasPlanejadas);
model.addAttribute("instrutores", instrutores);
model.addAttribute("totalInstrutores", totalInstrutores);
model.addAttribute("totalSolicitado", totalSolicitado);
return "planejamento/detail";
}
use of com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO in project trainning by fernandotomasio.
the class MainPlanejamentoController method showAjax.
@RequestMapping("/solicitacoes_ajax")
public String showAjax(Model model, WebRequest request) {
String itemPlanejamentoId = request.getParameter("itemPlanejamentoId");
ItemPlanejamentoDTO itemPlanejamento = planningService.findItemPlanejamento(Long.parseLong(itemPlanejamentoId));
StripItemPlanejamentoDTO[] strips = planningService.findAllStripItemPlanejamento(Long.parseLong(itemPlanejamentoId));
// TurmaPlanejadaDTO[] turmasPlanejadas = planningService.findAllTurmasPlanejadas(itemPlanejamento.getPlanejamento().getId(), null, itemPlanejamento.getCurso().getId(), null);
ResponsavelAreaDTO[] responsaveisAnalise = planningService.findAllResponsaveisAnalise(itemPlanejamento.getPlanejamento().getId(), itemPlanejamento.getCurso().getArea().getId());
model.addAttribute("responsaveisAnalise", responsaveisAnalise);
int totalVagas = 0;
int totalDisponivel = 0;
// for (TurmaPlanejadaDTO turmaPlanejada : turmasPlanejadas) {
// totalVagas += turmaPlanejada.getQuantidadeVagas();
// totalDisponivel += turmaPlanejada.getVagasDisponiveis();
//
// }
model.addAttribute("totalVagas", totalVagas);
model.addAttribute("totalDisponivel", totalDisponivel);
// HabilitacaoInstrutorDTO[] instrutores = instructorsService.findAllHabilitacoesInstrutores(itemPlanejamento.getCurso().getId(), null, null);
// int totalInstrutores = instrutores.length;
int totalSolicitado = 0;
int totalPlanejado = 0;
int[] totaisAnalises = new int[responsaveisAnalise.length];
for (StripItemPlanejamentoDTO strip : strips) {
totalSolicitado += ((strip.getTreinamentoSolicitado() == null) ? 0 : strip.getTreinamentoSolicitado().getQuantidade());
totalPlanejado += ((strip.getTreinamentoPlanejado() == null) ? 0 : strip.getTreinamentoPlanejado().getQuantidade());
int i = 0;
for (ResponsavelAreaDTO responsavelArea : responsaveisAnalise) {
if (!(strip.getAnalises() == null)) {
totaisAnalises[i] += ((strip.getAnalises().get(responsavelArea.getOrganizacao().getId().toString()) == null) ? 0 : strip.getAnalises().get(responsavelArea.getOrganizacao().getId().toString()).getQuantidade());
} else {
totaisAnalises[i] += 0;
}
i++;
}
}
// FolhaRostoDTO folhaRosto = planningService.findFolhaRosto(itemPlanejamento.getCurso().getCodigo());
model.addAttribute("strips", strips);
// model.addAttribute("folhaRosto", folhaRosto);
model.addAttribute("itemPlanejamento", itemPlanejamento);
// model.addAttribute("turmasPlanejadas", turmasPlanejadas);
// model.addAttribute("instrutores", instrutores);
// model.addAttribute("totalInstrutores", totalInstrutores);
model.addAttribute("totalSolicitado", totalSolicitado);
model.addAttribute("totaisAnalises", totaisAnalises);
model.addAttribute("totalPlanejado", totalPlanejado);
return "planejamento/solicitacoes_ajax";
}
use of com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO in project trainning by fernandotomasio.
the class MainPlanejamentoController method findAllTurmasPlanejadas.
@RequestMapping({ "/turmas_planejadas" })
@ResponseBody
public List findAllTurmasPlanejadas(Model model, WebRequest request) {
List<Map<Object, Object>> result = new ArrayList<>();
String itemPlanejamentoId = request.getParameter("itemPlanejamentoId");
ItemPlanejamentoDTO itemPlanejamento = planningService.findItemPlanejamento(Long.parseLong(itemPlanejamentoId));
TurmaPlanejadaDTO[] turmas = planningService.findAllTurmasPlanejadas(itemPlanejamento.getPlanejamento().getId(), null, itemPlanejamento.getCurso().getId(), null);
for (TurmaPlanejadaDTO turma : turmas) {
Map<Object, Object> item = new HashMap<>();
item.put("local", turma.getLocal());
item.put("id", turma.getId());
item.put("periodo", turma.getPeriodoFormatted());
item.put("numero", turma.getNumeroTurma());
item.put("vagas", turma.getQuantidadeVagas());
result.add(item);
}
return result;
}
Aggregations