use of com.tomasio.projects.trainning.dto.PlanejamentoDTO in project trainning by fernandotomasio.
the class TreinamentosSolicitadosController method initializeDemostrativo1DataMap.
public Map initializeDemostrativo1DataMap(Long planejamentoId, Long planoEnsinoId, Long userOrganizationId) {
Map result = new HashMap();
Set<ItemPlanejamentoDTO> itensPlanejamento = new HashSet();
TreinamentoSolicitadoDTO[] treinamentosSolicitados = planningService.findAllTreinamentosSolicitados(planejamentoId, planoEnsinoId, null, null);
OrganizacaoDTO[] organizacoesSubordinadas = organizationalService.findAllOrganizacoesSubordinadas(userOrganizationId);
List<Long> organizacoesIds = new ArrayList<>();
organizacoesIds.add(userOrganizationId);
for (OrganizacaoDTO organizacao : organizacoesSubordinadas) {
organizacoesIds.add(organizacao.getId());
}
Set<OrganizacaoDTO> externas = new HashSet<>();
PlanejamentoDTO planejamento = planningService.findPlanejamento(planejamentoId);
if (planejamento.getOrganizacao().getId().equals(userOrganizationId)) {
OrganizacaoDTO[] todasSubordinadas = organizationalService.findAllOrganizacoesSubordinadas(userOrganizationId);
List todasSubordinadasList = new ArrayList<>();
todasSubordinadasList.addAll(Arrays.asList(todasSubordinadas));
todasSubordinadasList.add(organizationalService.findOrganizacao(userOrganizationId));
TreinamentoSolicitadoDTO[] solicitados = planningService.findAllTreinamentosSolicitados(planejamentoId, null, null, null);
for (TreinamentoSolicitadoDTO solicitado : solicitados) {
if (todasSubordinadasList.contains(solicitado.getOrganizacao()) == false) {
externas.add(solicitado.getOrganizacao());
}
}
for (OrganizacaoDTO externa : externas) {
organizacoesIds.add(externa.getId());
}
}
for (TreinamentoSolicitadoDTO solicitacao : treinamentosSolicitados) {
if (organizacoesIds.contains(solicitacao.getOrganizacao().getId())) {
ItemPlanejamentoDTO itemPlanejamento = planningService.findItemPlanejamento(solicitacao.getItemPlanejamento().getId());
itensPlanejamento.add(itemPlanejamento);
}
}
OrganizacaoDTO[] organizacoesDiretamenteSubordinadas = organizationalService.findAllOrganizacoesDiretamenteSubordinadas(userOrganizationId);
List<OrganizacaoDTO> organizacoesDiretamentSubordinadasList = new ArrayList();
organizacoesDiretamentSubordinadasList.addAll(Arrays.asList(organizacoesDiretamenteSubordinadas));
for (OrganizacaoDTO externa : externas) {
organizacoesDiretamentSubordinadasList.add(externa);
}
organizacoesDiretamenteSubordinadas = new OrganizacaoDTO[organizacoesDiretamentSubordinadasList.size()];
organizacoesDiretamenteSubordinadas = organizacoesDiretamentSubordinadasList.toArray(organizacoesDiretamenteSubordinadas);
List rows = new ArrayList();
for (ItemPlanejamentoDTO itemPlanejamento : itensPlanejamento) {
int countTotal = 0;
List row = new ArrayList();
row.add(itemPlanejamento.getCurso().getDescricao());
row.add(itemPlanejamento.getCurso().getCodigo());
TreinamentoSolicitadoDTO solicitacaoUserOrganization = planningService.findTreinamentoSolicitado(itemPlanejamento.getId(), userOrganizationId);
if (solicitacaoUserOrganization == null) {
row.add("-");
} else {
row.add(solicitacaoUserOrganization.getQuantidade());
countTotal += solicitacaoUserOrganization.getQuantidade();
}
for (OrganizacaoDTO organizacao : organizacoesDiretamenteSubordinadas) {
OrganizacaoDTO[] subordinadas = organizationalService.findAllOrganizacoesSubordinadas(organizacao.getId());
int countSolicitacoes = 0;
TreinamentoSolicitadoDTO solicitacaoOrganizacao = planningService.findTreinamentoSolicitado(itemPlanejamento.getId(), organizacao.getId());
if (solicitacaoOrganizacao != null) {
countSolicitacoes += solicitacaoOrganizacao.getQuantidade();
}
for (OrganizacaoDTO subordinada : subordinadas) {
TreinamentoSolicitadoDTO solicitacaoSubordinada = planningService.findTreinamentoSolicitado(itemPlanejamento.getId(), subordinada.getId());
if (solicitacaoSubordinada != null) {
countSolicitacoes += solicitacaoSubordinada.getQuantidade();
}
}
if (countSolicitacoes == 0) {
row.add("-");
} else {
row.add(countSolicitacoes);
countTotal += countSolicitacoes;
}
}
if (countTotal > 0) {
row.add(countTotal);
} else {
row.add("-");
}
rows.add(row);
}
result.put("itensPlanejamento", rows);
List subordinadas = new ArrayList();
OrganizacaoDTO userOrganization = organizationalService.findOrganizacao(userOrganizationId);
Map userItem = new HashMap();
userItem.put("sigla", userOrganization.getSigla());
subordinadas.add(userItem);
for (OrganizacaoDTO subordinada : organizacoesDiretamenteSubordinadas) {
Map item = new HashMap();
item.put("sigla", subordinada.getSigla());
subordinadas.add(item);
}
result.put("organizacoes", subordinadas);
return result;
}
use of com.tomasio.projects.trainning.dto.PlanejamentoDTO in project trainning by fernandotomasio.
the class TreinamentosSolicitadosController method initializeSelectableOrganizacoes.
public Map initializeSelectableOrganizacoes(ExternalContext context, Long planejamentoId) {
OrganizacaoDTO userOrganization = (OrganizacaoDTO) context.getSessionMap().get("userOrganization");
Map organizacoes = new HashMap();
Map sede = new HashMap();
sede.put("sigla", userOrganization.getSigla());
sede.put("id", userOrganization.getId());
organizacoes.put("sede", sede);
OrganizacaoDTO[] organizacoesSubordinadas = organizationalService.findAllOrganizacoesDiretamenteSubordinadas(userOrganization.getId());
List subordinadasList = new ArrayList();
for (OrganizacaoDTO subordinada : organizacoesSubordinadas) {
Map sedeSubordinada = new HashMap();
sedeSubordinada.put("sigla", subordinada.getSigla());
sedeSubordinada.put("id", subordinada.getId());
subordinadasList.add(sedeSubordinada);
}
PlanejamentoDTO planejamento = planningService.findPlanejamento(planejamentoId);
if (planejamento.getOrganizacao().getId().equals(userOrganization.getId())) {
OrganizacaoDTO[] todasSubordinadas = organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId());
List todasSubordinadasList = new ArrayList<>();
todasSubordinadasList.addAll(Arrays.asList(todasSubordinadas));
todasSubordinadasList.add(userOrganization);
Set<OrganizacaoDTO> externas = new HashSet<>();
TreinamentoSolicitadoDTO[] solicitados = planningService.findAllTreinamentosSolicitados(planejamentoId, null, null, null);
for (TreinamentoSolicitadoDTO solicitado : solicitados) {
if (todasSubordinadasList.contains(solicitado.getOrganizacao()) == false) {
externas.add(solicitado.getOrganizacao());
}
}
for (OrganizacaoDTO externa : externas) {
subordinadasList.add(externa);
}
}
organizacoes.put("subordinadas", subordinadasList);
return organizacoes;
}
use of com.tomasio.projects.trainning.dto.PlanejamentoDTO in project trainning by fernandotomasio.
the class TurmasProgramadasController method selectItemPlanejamento.
@RequestMapping("/select_item_planejamento")
public String selectItemPlanejamento(Model model, @ModelAttribute("topOrganization") OrganizacaoDTO topOrganization, @ModelAttribute("userOrganization") OrganizacaoDTO userOrganization, WebRequest request) {
String planejamentoIdParam = request.getParameter("planejamentoId");
model.addAttribute("planejamentoId", planejamentoIdParam);
if (planejamentoIdParam == null || planejamentoIdParam.equals("") || planejamentoIdParam.equals("NULL")) {
PlanejamentoDTO[] planejamentos = planningService.findAllPlanejamentos(topOrganization.getId());
List<PlanejamentoDTO> planejamentosAbertos = new ArrayList<PlanejamentoDTO>();
for (PlanejamentoDTO planejamentoDTO : planejamentos) {
if (!userOrganization.equals(planejamentoDTO.getOrganizacao())) {
if (planejamentoDTO.isOpenned()) {
planejamentosAbertos.add(planejamentoDTO);
}
} else {
planejamentosAbertos.add(planejamentoDTO);
}
}
model.addAttribute("planejamentos", planejamentosAbertos);
return "turmas_planejadas/select_planejamento";
}
OrganizacaoDTO newOrganizacao = null;
// quebra galho ver acima
CursoDTO newCurso = null;
String viewByType = request.getParameter("viewByType");
model.addAttribute("viewByType", viewByType);
String organizacaoIdParam = request.getParameter("organizacaoId");
String cursoIdParam = request.getParameter("cursoId");
String localIdParam = request.getParameter("localId");
if (viewByType.equals("VIEW_BY_ORGANIZACAO")) {
if (organizacaoIdParam == null || organizacaoIdParam.equals("") || organizacaoIdParam.equals("NULL")) {
if (userOrganization instanceof UnidadeDTO) {
UnidadeDTO unidade = (UnidadeDTO) userOrganization;
if (unidade.getChildren() == null || unidade.getChildren().length == 0) {
model.addAttribute("organizacaoId", userOrganization.getId());
organizacaoIdParam = userOrganization.getId().toString();
} else {
List<OrganizacaoFABDTO> children = new ArrayList<OrganizacaoFABDTO>();
children.add(unidade);
for (OrganizacaoFABDTO organizacaoFABDTO : unidade.getChildren()) {
children.add(organizacaoFABDTO);
}
model.addAttribute("organizacoes", children);
return "turmas_planejadas/select_organizacao";
}
} else {
OrganizacaoDTO[] organizacoes = organizationalService.findAllOrganizacoes();
model.addAttribute("organizacoes", organizacoes);
return "turmas_planejadas/select_organizacao";
}
}
newOrganizacao = organizationalService.findOrganizacao(Long.parseLong(organizacaoIdParam));
model.addAttribute("organizacao", newOrganizacao);
model.addAttribute("curso", new CursoDTO());
model.addAttribute("local", new UnidadeDTO());
} else if (viewByType.equals("VIEW_BY_LOCAL")) {
if (localIdParam == null || localIdParam.equals("") || localIdParam.equals("NULL")) {
OrganizacaoDTO[] organizacoes = organizationalService.findAllOrganizacoes();
model.addAttribute("organizacoes", organizacoes);
return "turmas_planejadas/select_local";
}
newOrganizacao = organizationalService.findOrganizacao(Long.parseLong(localIdParam));
model.addAttribute("local", newOrganizacao);
model.addAttribute("curso", new CursoDTO());
model.addAttribute("organizacao", new UnidadeDTO());
} else if (viewByType.equals("VIEW_BY_CURSO")) {
if (cursoIdParam == null || cursoIdParam.equals("") || cursoIdParam.equals("NULL")) {
model.addAttribute("cursoId", cursoIdParam);
ItemPlanejamentoDTO[] itens = planningService.findAllItensPlanejamentoByPlanejamentoId(Long.parseLong(planejamentoIdParam));
model.addAttribute("itens", itens);
return "turmas_planejadas/select_curso";
}
newCurso = trainningService.findCurso(Long.parseLong(cursoIdParam));
model.addAttribute("curso", newCurso);
model.addAttribute("organizacao", new UnidadeDTO());
model.addAttribute("local", new UnidadeDTO());
} else {
model.addAttribute("curso", new CursoDTO());
model.addAttribute("organizacao", new UnidadeDTO());
model.addAttribute("local", new UnidadeDTO());
}
PlanejamentoDTO newPlanejamento = planningService.findPlanejamento(Long.parseLong(planejamentoIdParam));
model.addAttribute("planejamento", newPlanejamento);
return "redirect:/turmas_planejadas";
}
use of com.tomasio.projects.trainning.dto.PlanejamentoDTO in project trainning by fernandotomasio.
the class PlanejamentosController method savePlanejamento.
@RequestMapping("/save_planejamento")
public String savePlanejamento(Model model, @Valid PlanejamentoForm form, BindingResult bindingResult, WebRequest request) {
SimpleDateFormat df = new SimpleDateFormat("yyyy");
OrganizacaoDTO[] organizacoes = organizationalService.findAllComandos();
model.addAttribute("organizacoes", organizacoes);
if (bindingResult.hasErrors()) {
return "form_planejamento";
}
PlanejamentoDTO dto = new PlanejamentoDTO();
dto.setDescricao(form.getDescricao());
try {
dto.setExercicio(df.parse(form.getExercicio()));
} catch (ParseException ex) {
Logger.getLogger(PlanejamentosController.class.getName()).log(Level.SEVERE, null, ex);
}
dto.setId(form.getId());
dto.setExercicioFormatted(form.getExercicio());
dto.setOrganizacao(organizationalService.findOrganizacao(form.getOrganizacaoId()));
dto.setOpenned(form.isOpenned());
if (dto.getId() > 0) {
try {
planningService.updatePlanejamento(dto);
model.addAttribute("successMessage", "Planejamento atualizado com sucesso.");
model.addAttribute("planejamento", dto);
CursoDTO[] cursos = trainningService.findAllCursos(null, null, null, null);
AreaDTO[] areas = trainningService.findAllAreas();
OrganizacaoDTO[] listOrganizacoes = organizationalService.findAllOrganizacoes();
model.addAttribute("areas", areas);
model.addAttribute("organizacoes", organizacoes);
model.addAttribute("cursos", cursos);
return "detail_planejamento";
} catch (CoreException e) {
model.addAttribute("errorMessage", e.getMessage());
return "form_planejamento";
}
} else {
try {
planningService.createPlanejamento(dto);
model.addAttribute("successMessage", "Planejamento criado com sucesso.");
model.addAttribute("planejamento", dto);
return "detail_planejamento";
} catch (CoreException e) {
model.addAttribute("errorMessage", e.getMessage());
return "form_planejamento";
}
}
}
use of com.tomasio.projects.trainning.dto.PlanejamentoDTO in project trainning by fernandotomasio.
the class OrganizerHelper method arrangeTreinamentosConsolidados.
private List<TreinamentoSolicitadoConsolidadoDTO> arrangeTreinamentosConsolidados(Long planejamentoId, Map<String, IndicadorDTO> indicadores, Map<String, Integer> treinamentosPlanejadosMap, TreinamentoSolicitadoDTO[] treinamentosSolicitados) {
// findNextPlanejamentos(planejamentoId);
PlanejamentoDTO[] arrayPlanejamentos = null;
List<TreinamentoSolicitadoConsolidadoDTO> treinamentosConsolidados = new ArrayList<TreinamentoSolicitadoConsolidadoDTO>();
for (TreinamentoSolicitadoDTO t : treinamentosSolicitados) {
TreinamentoSolicitadoConsolidadoDTO treinamentoConsolidado = new TreinamentoSolicitadoConsolidadoDTO();
treinamentoConsolidado.setTreinamentoSolicitadoObjectId(t.getObjectId());
treinamentoConsolidado.setPlanejamentoId(t.getItemPlanejamento().getPlanejamento().getId());
treinamentoConsolidado.setCodCurso(t.getItemPlanejamento().getCurso().getCodigo());
treinamentoConsolidado.setCursoId(t.getItemPlanejamento().getCurso().getId());
treinamentoConsolidado.setDescricaoCurso(t.getItemPlanejamento().getCurso().getDescricao());
if (t.getItemPlanejamento().getCurso().getTipo() != null) {
treinamentoConsolidado.setTipoCurso(t.getItemPlanejamento().getCurso().getTipo());
}
treinamentoConsolidado.setOrganizacaoId(t.getOrganizacao().getId());
treinamentoConsolidado.setSiglaOrganizacao(t.getOrganizacao().getSigla());
treinamentoConsolidado.setNomeOrganizacao(t.getOrganizacao().getNome());
treinamentoConsolidado.setTreinamentoSolicitadoId(t.getId());
treinamentoConsolidado.setQuantidadeTreinamentoSolicitado(t.getQuantidade());
IndicadorDTO indicador = indicadores.get(t.getItemPlanejamento().getCurso().getCodigo() + "-" + t.getOrganizacao().getSigla());
if (indicador != null) {
treinamentoConsolidado.setIndicadorMinimo(indicador.getMinimo());
treinamentoConsolidado.setIndicadorIdeal(indicador.getIdeal());
treinamentoConsolidado.setIndicadorExistente(indicador.getExistente());
int gapIdeal = indicador.getIdeal() - indicador.getExistente();
if (gapIdeal < 0) {
gapIdeal = 0;
}
int gapMinimo = indicador.getMinimo() - indicador.getExistente();
if (gapMinimo < 0) {
gapMinimo = 0;
}
boolean idealAtingido = false;
boolean minimoAtingido = false;
if (gapMinimo == 0) {
minimoAtingido = true;
}
if (gapIdeal == 0) {
idealAtingido = true;
}
int status = 0;
if (minimoAtingido) {
if (idealAtingido) {
status = 2;
} else {
status = 1;
}
}
treinamentoConsolidado.setStatusIndicadores(status);
treinamentoConsolidado.setMinimoAtingido(minimoAtingido);
treinamentoConsolidado.setIdealAtingido(idealAtingido);
treinamentoConsolidado.setGapIdeal(gapIdeal);
treinamentoConsolidado.setGapMinimo(gapMinimo);
} else {
treinamentoConsolidado.setMinimoAtingido(true);
treinamentoConsolidado.setIdealAtingido(true);
treinamentoConsolidado.setGapIdeal(0);
treinamentoConsolidado.setGapMinimo(0);
treinamentoConsolidado.setStatusIndicadores(2);
}
int[] vagas = new int[5];
for (int i = 0; i < vagas.length; i++) {
PlanejamentoDTO planejamento = arrayPlanejamentos[i];
if (planejamento.getId() != null) {
String planId = String.valueOf(planejamento.getId());
String cursoId = String.valueOf(t.getItemPlanejamento().getCurso().getId());
String organizacaoId = String.valueOf(t.getOrganizacao().getId());
Integer aux = treinamentosPlanejadosMap.get(planId + cursoId + organizacaoId);
if (aux != null) {
vagas[i] = aux;
}
}
}
treinamentoConsolidado.setVagas(vagas);
int[] previsaoExistente = new int[5];
for (int i = 0; i < previsaoExistente.length; i++) {
int auxExistente = 0;
if (indicador != null) {
auxExistente = indicador.getExistente();
}
previsaoExistente[i] = auxExistente + vagas[i];
}
treinamentoConsolidado.setPrevisaoExistente(previsaoExistente);
OrganizacaoDTO organizacaoParent = null;
UnidadeDTO auxOrganizacao = null;
if (t.getOrganizacao() instanceof UnidadeDTO) {
auxOrganizacao = (UnidadeDTO) t.getOrganizacao();
}
if (auxOrganizacao != null && auxOrganizacao.getParent() != null) {
organizacaoParent = auxOrganizacao.getParent();
}
if (auxOrganizacao != null && auxOrganizacao.getParent() == null) {
organizacaoParent = auxOrganizacao;
}
if (organizacaoParent != null) {
treinamentoConsolidado.setOrganizacaoParentId(organizacaoParent.getId());
treinamentoConsolidado.setOrganizacaoParentNome(organizacaoParent.getNome());
treinamentoConsolidado.setOrganizacaoParentSigla(organizacaoParent.getSigla());
}
treinamentosConsolidados.add(treinamentoConsolidado);
}
return treinamentosConsolidados;
}
Aggregations