Search in sources :

Example 6 with PlanningService

use of com.tomasio.projects.trainning.interfaces.PlanningService in project trainning by fernandotomasio.

the class PLN004ODF method makeReport.

@Override
public void makeReport() {
    TrainningService trainningService = (TrainningService) services.get("trainningService");
    PlanningService planningService = (PlanningService) services.get("planningService");
    AtaService ataService = (AtaService) services.get("ataService");
    try {
        Long areaId = (Long) params.get("areaId");
        Long planejamentoId = (Long) params.get("planejamentoId");
        PlanejamentoDTO planejamento = planningService.findPlanejamento(planejamentoId);
        AreaDTO area = trainningService.findArea(areaId);
        ItemPlanejamentoDTO[] itensPlanejamento = planningService.findAllItensPlanejamentoByAreaId(areaId, planejamentoId);
        odt = OdfTextDocument.newTextDocument();
        odt.newParagraph("ATA DA REUNIÃO DE PLANEJAMENTO " + planejamento.getExercicioFormatted() + " DA ÁREA " + area.getNome() + " (" + area.getSigla() + ")");
        odt.newParagraph("");
        List<ItemAtaDTO> listItemAta = new ArrayList<ItemAtaDTO>();
        for (ItemPlanejamentoDTO itemPlanejamento : itensPlanejamento) {
            ItemAtaDTO[] itensAta = ataService.findAllItensAtasByItemPlanejamentoId(itemPlanejamento.getId());
            if (itensAta != null && itensAta.length > 0) {
                listItemAta.addAll(Arrays.asList(itensAta));
            }
        }
        OdfTable ataTable = OdfTable.newTable(odt, listItemAta.size() + 1, 6);
        OdfTableCell numeroHeader = ataTable.getCellByPosition(0, 0);
        numeroHeader.setStringValue("#");
        numeroHeader.setHorizontalAlignment("left");
        OdfTableCell tipoHeader = ataTable.getCellByPosition(1, 0);
        tipoHeader.setStringValue("Tipo");
        tipoHeader.setHorizontalAlignment("left");
        OdfTableCell cursoHeader = ataTable.getCellByPosition(2, 0);
        cursoHeader.setStringValue("Curso");
        cursoHeader.setHorizontalAlignment("center");
        OdfTableCell descricaoHeader = ataTable.getCellByPosition(3, 0);
        descricaoHeader.setStringValue("Descrição");
        descricaoHeader.setHorizontalAlignment("left");
        OdfTableCell reponsavelHeader = ataTable.getCellByPosition(4, 0);
        reponsavelHeader.setStringValue("Responsável");
        reponsavelHeader.setHorizontalAlignment("center");
        OdfTableCell prazoHeader = ataTable.getCellByPosition(5, 0);
        prazoHeader.setStringValue("Prazo");
        prazoHeader.setHorizontalAlignment("center");
        for (int i = 0; i < listItemAta.size(); i++) {
            ItemAtaDTO itemAtaDTO = (ItemAtaDTO) listItemAta.get(i);
            String tipo = "";
            String responsavel = "";
            String prazo = "";
            if (itemAtaDTO instanceof AcaoDTO) {
                tipo = "A";
                responsavel = ((AcaoDTO) itemAtaDTO).getResponsavel();
                prazo = ((AcaoDTO) itemAtaDTO).getPrazo();
            } else if (itemAtaDTO instanceof DecisaoDTO) {
                tipo = "D";
                responsavel = ((DecisaoDTO) itemAtaDTO).getResponsavel();
            } else {
                tipo = "C";
            }
            OdfTableCell numeroCell = ataTable.getCellByPosition(0, i + 1);
            numeroCell.setStringValue(Integer.toString(i + 1));
            OdfTableCell tipoCell = ataTable.getCellByPosition(1, i + 1);
            tipoCell.setStringValue(tipo);
            OdfTableCell cursoCell = ataTable.getCellByPosition(2, i + 1);
            cursoCell.setStringValue(itemAtaDTO.getItemPlanejamento().getCurso().getCodigo());
            OdfTableCell descricaoCell = ataTable.getCellByPosition(3, i + 1);
            descricaoCell.setStringValue(itemAtaDTO.getTexto());
            OdfTableCell responsavelCell = ataTable.getCellByPosition(4, i + 1);
            responsavelCell.setStringValue(responsavel);
            OdfTableCell prazoCell = ataTable.getCellByPosition(5, i + 1);
            prazoCell.setStringValue(prazo);
        }
        odt.newParagraph("");
        odt.newParagraph("DISTRIBUIÇAO DE VAGAS: ");
        for (ItemPlanejamentoDTO itemPlanejamento : itensPlanejamento) {
            odt.newParagraph("");
            odt.newParagraph(itemPlanejamento.getCurso().getCodigo() + " - " + itemPlanejamento.getCurso().getDescricao());
            odt.newParagraph("");
            StripItemPlanejamentoDTO[] strips = planningService.findAllStripItemPlanejamento(itemPlanejamento.getId());
            itemPlanejamento = planningService.findItemPlanejamento(itemPlanejamento.getId());
            ResponsavelAreaDTO[] responsaveis = planningService.findAllResponsaveisAnalise(itemPlanejamento.getPlanejamento().getId(), itemPlanejamento.getCurso().getArea().getId());
            OdfTable distribuicaoTable = OdfTable.newTable(odt, strips.length + 1, 7 + responsaveis.length);
            int pos_responsavel = 7;
            OdfTableCell organizacaoHeader = distribuicaoTable.getCellByPosition(0, 0);
            organizacaoHeader.setStringValue("OM");
            organizacaoHeader.setHorizontalAlignment("left");
            OdfTableCell minimoHeader = distribuicaoTable.getCellByPosition(1, 0);
            minimoHeader.setStringValue("Mínimo");
            minimoHeader.setHorizontalAlignment("center");
            OdfTableCell idealHeader = distribuicaoTable.getCellByPosition(2, 0);
            idealHeader.setStringValue("Ideal");
            idealHeader.setHorizontalAlignment("center");
            OdfTableCell existenteHeader = distribuicaoTable.getCellByPosition(3, 0);
            existenteHeader.setStringValue("Existente");
            existenteHeader.setHorizontalAlignment("center");
            OdfTableCell gapMinimoHeader = distribuicaoTable.getCellByPosition(4, 0);
            gapMinimoHeader.setStringValue("Gap Min");
            gapMinimoHeader.setHorizontalAlignment("center");
            OdfTableCell gapIdealHeader = distribuicaoTable.getCellByPosition(5, 0);
            gapIdealHeader.setStringValue("Gap Ideal");
            gapIdealHeader.setHorizontalAlignment("center");
            OdfTableCell solicitadoHeader = distribuicaoTable.getCellByPosition(6, 0);
            solicitadoHeader.setStringValue("Sol.");
            solicitadoHeader.setHorizontalAlignment("center");
            for (ResponsavelAreaDTO responsavel : responsaveis) {
                System.out.println(responsavel.getOrganizacao().getSigla());
                OdfTableCell responsavelHeader = distribuicaoTable.getCellByPosition(pos_responsavel, 0);
                responsavelHeader.setStringValue(responsavel.getOrganizacao().getSigla());
                responsavelHeader.setHorizontalAlignment("center");
                pos_responsavel++;
            }
            int linha = 1;
            for (StripItemPlanejamentoDTO stripItem : strips) {
                OdfTableCell om = distribuicaoTable.getCellByPosition(0, linha);
                om.setStringValue(stripItem.getOrganizacao().getSigla());
                om.setHorizontalAlignment("left");
                OdfTableCell minimo = distribuicaoTable.getCellByPosition(1, linha);
                minimo.setStringValue(Integer.toString(stripItem.getIndicadorMinimo()));
                minimo.setHorizontalAlignment("center");
                OdfTableCell ideal = distribuicaoTable.getCellByPosition(2, linha);
                ideal.setStringValue(Integer.toString(stripItem.getIndicadorIdeal()));
                ideal.setHorizontalAlignment("center");
                OdfTableCell existente = distribuicaoTable.getCellByPosition(3, linha);
                existente.setStringValue(Integer.toString(stripItem.getIndicadorExistente()));
                existente.setHorizontalAlignment("center");
                OdfTableCell gapMinimo = distribuicaoTable.getCellByPosition(4, linha);
                gapMinimo.setStringValue(Integer.toString(Math.abs(stripItem.getGapMinimo())));
                gapMinimo.setHorizontalAlignment("center");
                OdfTableCell gapIdeal = distribuicaoTable.getCellByPosition(5, linha);
                gapIdeal.setStringValue(Integer.toString(Math.abs(stripItem.getGapIdeal())));
                gapIdeal.setHorizontalAlignment("center");
                OdfTableCell solicitado = distribuicaoTable.getCellByPosition(6, linha);
                if (stripItem.getTreinamentoSolicitado() != null) {
                    solicitado.setStringValue(Integer.toString(stripItem.getTreinamentoSolicitado().getQuantidade()));
                } else {
                    solicitado.setStringValue("-");
                }
                solicitado.setHorizontalAlignment("center");
                Map analisesMap = stripItem.getAnalises();
                pos_responsavel = 7;
                for (ResponsavelAreaDTO responsavel : responsaveis) {
                    String quantidade = "-";
                    if (analisesMap != null) {
                        AnaliseDTO analise = (AnaliseDTO) analisesMap.get(responsavel.getOrganizacao().getId().toString());
                        if (analise != null) {
                            quantidade = String.valueOf(analise.getQuantidade());
                        }
                    }
                    OdfTableCell valor = distribuicaoTable.getCellByPosition(pos_responsavel, linha);
                    valor.setStringValue(quantidade);
                    valor.setHorizontalAlignment("center");
                    pos_responsavel++;
                }
                linha++;
            }
        }
        odt.save(os);
    } catch (Exception ex) {
        Logger.getLogger(PLN004ODF.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : PlanningService(com.tomasio.projects.trainning.interfaces.PlanningService) ItemAtaDTO(com.tomasio.projects.trainning.dto.ItemAtaDTO) ArrayList(java.util.ArrayList) DecisaoDTO(com.tomasio.projects.trainning.dto.DecisaoDTO) AreaDTO(com.tomasio.projects.trainning.dto.AreaDTO) ResponsavelAreaDTO(com.tomasio.projects.trainning.dto.ResponsavelAreaDTO) AtaService(com.tomasio.projects.trainning.interfaces.AtaService) ItemPlanejamentoDTO(com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO) StripItemPlanejamentoDTO(com.tomasio.projects.trainning.dto.StripItemPlanejamentoDTO) ResponsavelAreaDTO(com.tomasio.projects.trainning.dto.ResponsavelAreaDTO) AcaoDTO(com.tomasio.projects.trainning.dto.AcaoDTO) StripItemPlanejamentoDTO(com.tomasio.projects.trainning.dto.StripItemPlanejamentoDTO) AnaliseDTO(com.tomasio.projects.trainning.dto.AnaliseDTO) ItemPlanejamentoDTO(com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO) StripItemPlanejamentoDTO(com.tomasio.projects.trainning.dto.StripItemPlanejamentoDTO) PlanejamentoDTO(com.tomasio.projects.trainning.dto.PlanejamentoDTO) OdfTableCell(org.odftoolkit.odfdom.doc.table.OdfTableCell) TrainningService(com.tomasio.projects.trainning.interfaces.TrainningService) OdfTable(org.odftoolkit.odfdom.doc.table.OdfTable) Map(java.util.Map)

Example 7 with PlanningService

use of com.tomasio.projects.trainning.interfaces.PlanningService in project trainning by fernandotomasio.

the class ImportTurmasEfetivasFromPlanejamento method execute.

@Override
public void execute() {
    Long planejamentoId = 312434L;
    ApplicationContext context = new ClassPathXmlApplicationContext("service-context.xml");
    AtividadesEnsinoService atividadesService = (AtividadesEnsinoService) context.getBean("atividadesEnsinoService");
    TrainningService trainningService = (TrainningService) context.getBean("trainningService");
    PlanningService planningService = (PlanningService) context.getBean("planningService");
    try {
        PlanejamentoDTO planejamento = planningService.findPlanejamento(planejamentoId);
        TurmaPlanejadaDTO[] turmasPlanejadas = planningService.findAllTurmasPlanejadas(planejamentoId, null, null, null);
        for (TurmaPlanejadaDTO turmaPlanejadaDTO : turmasPlanejadas) {
            TurmaEfetivaDTO turmaEfetiva = new TurmaEfetivaDTO();
            turmaEfetiva.setCurso(trainningService.findCurso(turmaPlanejadaDTO.getCurso().getId()));
            turmaEfetiva.setResponsavelId(turmaPlanejadaDTO.getResponsavelId());
            turmaEfetiva.setOrganizacaoGestoraId(planejamento.getOrganizacao().getId());
            turmaEfetiva.setResponsavelMatriculaId(planejamento.getOrganizacao().getId());
            turmaEfetiva.setResponsavelConclusaoId(turmaPlanejadaDTO.getResponsavelId());
            turmaEfetiva.setResponsavelPreMatriculaId(planejamento.getOrganizacao().getId());
            turmaEfetiva.setResponsavelSelecaoId(planejamento.getOrganizacao().getId());
            turmaEfetiva.setResponsavelApresentacaoId(turmaPlanejadaDTO.getResponsavelId());
            turmaEfetiva.setNumeroTurma(turmaPlanejadaDTO.getNumeroTurma());
            Set<FaseDTO> fasesDTO = new HashSet<FaseDTO>(Arrays.asList(turmaPlanejadaDTO.getFases()));
            FaseDTO[] fasesArray = new FaseDTO[fasesDTO.size()];
            int i = 0;
            for (FaseDTO faseDTO : fasesDTO) {
                fasesArray[i] = faseDTO;
                i++;
            }
            turmaEfetiva.setFases(fasesArray);
            turmaEfetiva.setTurmaPlanejadaId(turmaPlanejadaDTO.getId());
            turmaEfetiva.setNumeroTurma(turmaPlanejadaDTO.getNumeroTurma());
            turmaEfetiva.setQuantidadeVagas(turmaPlanejadaDTO.getQuantidadeVagas());
            Calendar calendar = Calendar.getInstance();
            SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
            Date dataInicio = turmaPlanejadaDTO.getDataInicio();
            Date startIndicacoes = null;
            Date endIndicacoes = null;
            if (dataInicio != null) {
                calendar.setTime(dataInicio);
                try {
                    startIndicacoes = df.parse("01/01/2015");
                    calendar.add(Calendar.DATE, -20);
                    endIndicacoes = df.parse(df.format(calendar.getTime()));
                } catch (ParseException ex) {
                    Logger.getLogger(ImportTurmasEfetivasFromPlanejamento.class.getName()).log(Level.SEVERE, null, ex);
                }
            } else {
                try {
                    startIndicacoes = df.parse("01/01/2015");
                    endIndicacoes = df.parse("31/12/2015");
                } catch (ParseException ex) {
                    Logger.getLogger(ImportTurmasEfetivasFromPlanejamento.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            PeriodoDTO periodoIndicacoes = new PeriodoDTO();
            periodoIndicacoes.setDataInicio(startIndicacoes);
            periodoIndicacoes.setDataTermino(endIndicacoes);
            turmaEfetiva.setPeriodoIndicacao(periodoIndicacoes);
            // TODO: QuantidadeVagas?
            // TODO: periodoIndicacao?
            // TreinamentoPlanejadoDTO [] treinamentosPlanejados = turmaPlanejadaDTO.getTreinamentosPlanejados();
            // for (TreinamentoPlanejadoDTO treinamentoPlanejadoDTO : treinamentosPlanejados) {
            // DistribuicaoDTO distribuicao = new DistribuicaoDTO();
            // distribuicao.setOrganizacao(treinamentoPlanejadoDTO.getOrganizacao());
            // distribuicao.setQuantidadeVagas(treinamentoPlanejadoDTO.getQuantidade());
            // distribuicao.setReserva(false);
            // //turmaEfetiva.getDistribuicoes().add(distribuicao);
            // 
            // }
            Date exercicio = planejamento.getExercicio();
            turmaEfetiva.setExercicio(exercicio);
            Long turmaId = atividadesService.createTurmaEfetiva(turmaEfetiva);
            // Distribuição de Vagas
            DistribuicaoDTO[] distribuicoes = planningService.findAllDistribuicoes(turmaPlanejadaDTO.getId());
            for (DistribuicaoDTO distribuicaoPlanejada : distribuicoes) {
                DistribuicaoDTO distribuicaoEfetiva = new DistribuicaoDTO();
                distribuicaoEfetiva.setOrganizacao(distribuicaoPlanejada.getOrganizacao());
                distribuicaoEfetiva.setPrioridade(distribuicaoPlanejada.getPrioridade());
                distribuicaoEfetiva.setQuantidadeVagas(distribuicaoPlanejada.getQuantidadeVagas());
                distribuicaoEfetiva.setReserva(distribuicaoPlanejada.isReserva());
                distribuicaoEfetiva.setTurma(atividadesService.findTurmaEfetiva(turmaId));
                atividadesService.createDistribuicao(distribuicaoEfetiva);
            }
        }
    } catch (Exception e) {
    }
}
Also used : PlanningService(com.tomasio.projects.trainning.interfaces.PlanningService) Calendar(java.util.Calendar) Date(java.util.Date) ParseException(java.text.ParseException) PlanejamentoDTO(com.tomasio.projects.trainning.dto.PlanejamentoDTO) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) DistribuicaoDTO(com.tomasio.projects.trainning.dto.DistribuicaoDTO) ApplicationContext(org.springframework.context.ApplicationContext) ClassPathXmlApplicationContext(org.springframework.context.support.ClassPathXmlApplicationContext) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) ClassPathXmlApplicationContext(org.springframework.context.support.ClassPathXmlApplicationContext) TrainningService(com.tomasio.projects.trainning.interfaces.TrainningService) PeriodoDTO(com.tomasio.projects.trainning.dto.PeriodoDTO) ParseException(java.text.ParseException) SimpleDateFormat(java.text.SimpleDateFormat) AtividadesEnsinoService(com.tomasio.projects.trainning.interfaces.AtividadesEnsinoService) TurmaPlanejadaDTO(com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO) HashSet(java.util.HashSet)

Aggregations

PlanningService (com.tomasio.projects.trainning.interfaces.PlanningService)7 PlanejamentoDTO (com.tomasio.projects.trainning.dto.PlanejamentoDTO)3 SolicitacaoPlamensDTO (com.tomasio.projects.trainning.dto.SolicitacaoPlamensDTO)3 TrainningService (com.tomasio.projects.trainning.interfaces.TrainningService)3 IOException (java.io.IOException)3 DistribuicaoDTO (com.tomasio.projects.trainning.dto.DistribuicaoDTO)2 FaseDTO (com.tomasio.projects.trainning.dto.FaseDTO)2 PeriodoDTO (com.tomasio.projects.trainning.dto.PeriodoDTO)2 TurmaEfetivaDTO (com.tomasio.projects.trainning.dto.TurmaEfetivaDTO)2 TurmaPlanejadaDTO (com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO)2 AtividadesEnsinoService (com.tomasio.projects.trainning.interfaces.AtividadesEnsinoService)2 ParseException (java.text.ParseException)2 SimpleDateFormat (java.text.SimpleDateFormat)2 Calendar (java.util.Calendar)2 Date (java.util.Date)2 HashSet (java.util.HashSet)2 Label (jxl.write.Label)2 WritableSheet (jxl.write.WritableSheet)2 WritableWorkbook (jxl.write.WritableWorkbook)2 WriteException (jxl.write.WriteException)2