Search in sources :

Example 11 with TreinamentoSolicitadoDTO

use of com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO in project trainning by fernandotomasio.

the class TreinamentosSolicitadosController method initializeDemostrativo2DataMap.

public Map initializeDemostrativo2DataMap(Long planejamentoId, Long planoEnsinoId, Long userOrganizationId) {
    NumberFormat nf = NumberFormat.getCurrencyInstance();
    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());
    }
    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 rows = new ArrayList();
    for (ItemPlanejamentoDTO itemPlanejamento : itensPlanejamento) {
        long countTotalDiarias = 0;
        long countTotalPassagem = 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("-");
            row.add("-");
        } else {
            row.add("R$ " + nf.format(solicitacaoUserOrganization.getCustoDiarias()).split(" ")[1]);
            row.add("R$ " + nf.format(solicitacaoUserOrganization.getCustoPassagem()).split(" ")[1]);
            countTotalDiarias += solicitacaoUserOrganization.getCustoDiarias();
            countTotalPassagem += solicitacaoUserOrganization.getCustoPassagem();
        }
        for (OrganizacaoDTO organizacao : organizacoesDiretamenteSubordinadas) {
            OrganizacaoDTO[] subordinadas = organizationalService.findAllOrganizacoesSubordinadas(organizacao.getId());
            long countDiarias = 0;
            long countPassagem = 0;
            TreinamentoSolicitadoDTO solicitacaoOrganizacao = planningService.findTreinamentoSolicitado(itemPlanejamento.getId(), organizacao.getId());
            if (solicitacaoOrganizacao != null) {
                countDiarias += solicitacaoOrganizacao.getCustoDiarias();
                countPassagem += solicitacaoOrganizacao.getCustoPassagem();
            }
            for (OrganizacaoDTO subordinada : subordinadas) {
                TreinamentoSolicitadoDTO solicitacaoSubordinada = planningService.findTreinamentoSolicitado(itemPlanejamento.getId(), subordinada.getId());
                if (solicitacaoSubordinada != null) {
                    countDiarias += solicitacaoSubordinada.getCustoDiarias();
                    countPassagem += solicitacaoSubordinada.getCustoPassagem();
                }
            }
            if (countDiarias == 0L) {
                row.add("-");
            } else {
                row.add("R$ " + nf.format(countDiarias).split(" ")[1]);
                countTotalDiarias += countDiarias;
            }
            if (countPassagem == 0L) {
                row.add("-");
            } else {
                row.add("R$ " + nf.format(countPassagem).split(" ")[1]);
                countTotalPassagem += countPassagem;
            }
        }
        if (countTotalDiarias > 0) {
            row.add("R$ " + nf.format(countTotalDiarias).split(" ")[1]);
        } else {
            row.add("-");
        }
        if (countTotalPassagem > 0) {
            row.add("R$ " + nf.format(countTotalPassagem).split(" ")[1]);
        } 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;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ItemPlanejamentoDTO(com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO) ArrayList(java.util.ArrayList) List(java.util.List) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) HashMap(java.util.HashMap) Map(java.util.Map) NumberFormat(java.text.NumberFormat) HashSet(java.util.HashSet) TreinamentoSolicitadoDTO(com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO)

Example 12 with TreinamentoSolicitadoDTO

use of com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO 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;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) HashMap(java.util.HashMap) Map(java.util.Map) PlanejamentoDTO(com.tomasio.projects.trainning.dto.PlanejamentoDTO) ItemPlanejamentoDTO(com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO) HashSet(java.util.HashSet) TreinamentoSolicitadoDTO(com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO)

Example 13 with TreinamentoSolicitadoDTO

use of com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO in project trainning by fernandotomasio.

the class TreinamentosSolicitadosController method detailTreinamentoSoliciado.

@RequestMapping("/detail")
public String detailTreinamentoSoliciado(Model model, WebRequest request) {
    String treinamentoSolicitadoId = request.getParameter("treinamentoSolicitadoId");
    TreinamentoSolicitadoDTO treinamentoSolicitado = planningService.findTreinamentoSolicitado(Long.parseLong(treinamentoSolicitadoId));
    model.addAttribute("treinamentoSolicitado", treinamentoSolicitado);
    return "treinamentos_solicitados/detail";
}
Also used : TreinamentoSolicitadoDTO(com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 14 with TreinamentoSolicitadoDTO

use of com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO in project trainning by fernandotomasio.

the class MigrateFromPlanejamentoToItemPlanejamento method main.

public static void main(String[] args) throws DAOException {
    TreinamentoSolicitadoDAO dao = new HibernateTreinamentoSolicitadoDAO();
    TurmaDAO turmaDAO = new HibernateTurmaDAO();
    List<TreinamentoSolicitadoDTO> treinamentos = dao.findAll(null, null, null, null);
    List<TurmaPlanejadaDTO> turmas = turmaDAO.findAllTurmasPlanejadas(1L, null, null, null);
    PlanejamentoDAO planejamentoDAO = new HibernatePlanejamentoDAO();
    List<Long> ids = new ArrayList<Long>();
    for (TreinamentoSolicitadoDTO treinamentoSolicitadoDTO : treinamentos) {
        // PlanejamentoDTO p = planejamentoDAO.find(treinamentoSolicitadoDTO.getPlanejamento().getId());
        // treinamentoSolicitadoDTO.setPlanejamento(p);
        dao.update(treinamentoSolicitadoDTO);
        // System.out.println(treinamentoSolicitadoDTO.getPlanejamento().getExercicio());
        // System.out.println(treinamentoSolicitadoDTO.getPlanejamento().getExercicio());
        System.out.println("-------------------------------------------------\n\n");
    // treinamentoSolicitadoDTO.setPlanejamento(null); // para não encher a coleção e provocar overflow stack
    }
// List<Long> turmasIds = new ArrayList<Long>();
// for (TurmaDTO turma : turmas) {
// turmasIds.add(turma.getId());
// }
// 
// for (Long id : turmasIds) {
// PlanejamentoDTO p = planejamentoDAO.find(1L);
// TurmaPlanejadaDTO turma = (TurmaPlanejadaDTO) turmaDAO.find(id);
// turma.setPlanejamento(p);
// turmaDAO.update(turma);
// System.out.println(turma.getPlanejamento().getExercicio());
// 
// System.out.println(turma.getPlanejamento().getExercicio());
// }
// 
}
Also used : ArrayList(java.util.ArrayList) HibernateTreinamentoSolicitadoDAO(com.tomasio.projects.trainning.dao.HibernateTreinamentoSolicitadoDAO) TreinamentoSolicitadoDAO(com.tomasio.projects.trainning.dao.TreinamentoSolicitadoDAO) HibernatePlanejamentoDAO(com.tomasio.projects.trainning.dao.HibernatePlanejamentoDAO) HibernateTurmaDAO(com.tomasio.projects.trainning.dao.HibernateTurmaDAO) HibernateTreinamentoSolicitadoDAO(com.tomasio.projects.trainning.dao.HibernateTreinamentoSolicitadoDAO) PlanejamentoDAO(com.tomasio.projects.trainning.dao.PlanejamentoDAO) HibernatePlanejamentoDAO(com.tomasio.projects.trainning.dao.HibernatePlanejamentoDAO) HibernateTurmaDAO(com.tomasio.projects.trainning.dao.HibernateTurmaDAO) TurmaDAO(com.tomasio.projects.trainning.dao.TurmaDAO) TreinamentoSolicitadoDTO(com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO) TurmaPlanejadaDTO(com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO)

Example 15 with TreinamentoSolicitadoDTO

use of com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO 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;
}
Also used : ArrayList(java.util.ArrayList) PlanejamentoDTO(com.tomasio.projects.trainning.dto.PlanejamentoDTO) TreinamentoSolicitadoConsolidadoDTO(com.tomasio.projects.trainning.dto.TreinamentoSolicitadoConsolidadoDTO) IndicadorDTO(com.tomasio.projects.trainning.dto.IndicadorDTO) UnidadeDTO(com.tomasio.projects.trainning.dto.UnidadeDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) TreinamentoSolicitadoDTO(com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO)

Aggregations

TreinamentoSolicitadoDTO (com.tomasio.projects.trainning.dto.TreinamentoSolicitadoDTO)16 ItemPlanejamentoDTO (com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO)7 ArrayList (java.util.ArrayList)6 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)5 GroupTreinamentoSolicitadoForm (com.tomasio.projects.trainning.form.GroupTreinamentoSolicitadoForm)4 TreinamentoSolicitadoForm (com.tomasio.projects.trainning.form.TreinamentoSolicitadoForm)4 List (java.util.List)4 TreinamentoSolicitadoDAO (com.tomasio.projects.trainning.dao.TreinamentoSolicitadoDAO)3 PlanejamentoDTO (com.tomasio.projects.trainning.dto.PlanejamentoDTO)3 HashMap (java.util.HashMap)3 HashSet (java.util.HashSet)3 Map (java.util.Map)3 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)3 HibernateTreinamentoSolicitadoDAO (com.tomasio.projects.trainning.dao.HibernateTreinamentoSolicitadoDAO)2 DAOException (com.tomasio.projects.trainning.exception.DAOException)2 NumberFormat (java.text.NumberFormat)2 CursoDAO (com.tomasio.projects.trainning.dao.CursoDAO)1 DAOFactory (com.tomasio.projects.trainning.dao.DAOFactory)1 HibernatePlanejamentoDAO (com.tomasio.projects.trainning.dao.HibernatePlanejamentoDAO)1 HibernateTurmaDAO (com.tomasio.projects.trainning.dao.HibernateTurmaDAO)1