Search in sources :

Example 41 with Organizacao

use of com.tomasio.projects.trainning.model.Organizacao in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method calculateCustoPrevistoAlunos.

@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoPrevistoAlunos(TurmaEfetivaDTO[] turmas) {
    Map<String, BigDecimal> result = new HashMap();
    DistribuicaoDAO distribuicaoDAO = factory.getDistribuicaoDAO();
    String parameterDiaria = ConfigHelper.getValue("custos.diaria");
    String parameterPassagem = ConfigHelper.getValue("custos.passagem");
    BigDecimal diaria = new BigDecimal(parameterDiaria);
    BigDecimal passagem = new BigDecimal(parameterPassagem);
    OrganizacaoDAO organizacaoDAO = factory.getOrganizacaoDAO();
    BigDecimal transportePrevisto = new BigDecimal(0.00);
    BigDecimal diariasPrevisto = new BigDecimal(0.00);
    try {
        for (TurmaEfetivaDTO turma : turmas) {
            List<Distribuicao> vagas = distribuicaoDAO.findAll(turma.getId());
            FaseDTO[] fases = turma.getFases();
            for (FaseDTO fase : fases) {
                if ("PRESENCIAL".equals(fase.getTipoFase())) {
                    int intervalo = 0;
                    if (fase.getDataInicio() != null && fase.getDataTermino() != null) {
                        DateTime dataInicio = new DateTime(fase.getDataInicio().getTime());
                        DateTime dataTermino = new DateTime(fase.getDataTermino().getTime());
                        Days d = Days.daysBetween(dataInicio, dataTermino);
                        intervalo = d.getDays() + 2;
                    }
                    if (intervalo <= 0) {
                        continue;
                    }
                    if (intervalo > 50) {
                        intervalo = 50;
                    }
                    for (Distribuicao vaga : vagas) {
                        if (vaga.isReserva()) {
                            continue;
                        }
                        Organizacao organizacaoAluno = organizacaoDAO.find(vaga.getOrganizacao().getId());
                        if (organizacaoAluno.createDTO() instanceof ExternoDTO) {
                            continue;
                        }
                        Organizacao organizacaoLocal = organizacaoDAO.find(fase.getLocal().getId());
                        if (!organizacaoAluno.getCidade().getId().equals(organizacaoLocal.getCidade().getId())) {
                            diariasPrevisto = diariasPrevisto.add(diaria.multiply(new BigDecimal(intervalo)).multiply(new BigDecimal(vaga.getQuantidadeVagas())));
                            transportePrevisto = transportePrevisto.add(passagem.multiply(new BigDecimal(vaga.getQuantidadeVagas())));
                        }
                    }
                }
            }
        }
    } catch (DAOException ex) {
        Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
    }
    result.put("transporte", transportePrevisto);
    result.put("diarias", diariasPrevisto);
    result.put("total", diariasPrevisto.add(transportePrevisto));
    return result;
}
Also used : HashMap(java.util.HashMap) DistribuicaoDAO(com.tomasio.projects.trainning.dao.DistribuicaoDAO) BigDecimal(java.math.BigDecimal) DateTime(org.joda.time.DateTime) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) DAOException(com.tomasio.projects.trainning.exception.DAOException) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) Organizacao(com.tomasio.projects.trainning.model.Organizacao) Distribuicao(com.tomasio.projects.trainning.model.Distribuicao) Days(org.joda.time.Days) ExternoDTO(com.tomasio.projects.trainning.dto.ExternoDTO) Transactional(org.springframework.transaction.annotation.Transactional)

Example 42 with Organizacao

use of com.tomasio.projects.trainning.model.Organizacao in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method calculateCustoRealizadoAlunos.

@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoRealizadoAlunos(TurmaEfetivaDTO[] turmas) {
    Map<String, BigDecimal> result = new HashMap();
    MatriculaDAO matriculaDAO = factory.getMatriculaDAO();
    PessoaDAO pessoaDAO = factory.getPessoaDAO();
    String parameterDiaria = ConfigHelper.getValue("custos.diaria");
    String parameterPassagem = ConfigHelper.getValue("custos.passagem");
    BigDecimal diaria = new BigDecimal(parameterDiaria);
    BigDecimal passagem = new BigDecimal(parameterPassagem);
    OrganizacaoDAO organizacaoDAO = factory.getOrganizacaoDAO();
    BigDecimal transporteRealizado = new BigDecimal(0.00);
    BigDecimal diariasRealizado = new BigDecimal(0.00);
    try {
        for (TurmaEfetivaDTO turma : turmas) {
            if (turma.isCancelado()) {
                continue;
            }
            List<Matricula> alunos = matriculaDAO.findAllAlunos(turma.getId());
            FaseDTO[] fases = turma.getFases();
            for (FaseDTO fase : fases) {
                if ("PRESENCIAL".equals(fase.getTipoFase())) {
                    int intervalo = 0;
                    if (fase.getDataInicio() != null && fase.getDataTermino() != null) {
                        DateTime dataInicio = new DateTime(fase.getDataInicio().getTime());
                        DateTime dataTermino = new DateTime(fase.getDataTermino().getTime());
                        Days d = Days.daysBetween(dataInicio, dataTermino);
                        intervalo = d.getDays() + 2;
                    }
                    if (intervalo <= 0) {
                        continue;
                    }
                    if (intervalo > 50) {
                        intervalo = 50;
                    }
                    for (Matricula aluno : alunos) {
                        if (aluno.isCancelada()) {
                            continue;
                        }
                        Pessoa pessoa = pessoaDAO.find(aluno.getPessoa().getId());
                        if (pessoa.getOrganizacao() != null) {
                            Organizacao organizacaoAluno = organizacaoDAO.find(pessoa.getOrganizacao().getId());
                            if (organizacaoAluno.createDTO() instanceof ExternoDTO) {
                                continue;
                            }
                            Organizacao organizacaoLocal = organizacaoDAO.find(fase.getLocal().getId());
                            if (!organizacaoAluno.getCidade().getId().equals(organizacaoLocal.getCidade().getId())) {
                                diariasRealizado = diariasRealizado.add(diaria.multiply(new BigDecimal(intervalo)));
                                transporteRealizado = transporteRealizado.add(passagem);
                            }
                        }
                    }
                }
            }
        }
    } catch (DAOException ex) {
        Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
    }
    result.put("transporte", transporteRealizado);
    result.put("diarias", diariasRealizado);
    result.put("total", transporteRealizado.add(diariasRealizado));
    return result;
}
Also used : HashMap(java.util.HashMap) PessoaDAO(com.tomasio.projects.trainning.dao.PessoaDAO) CancelamentoMatricula(com.tomasio.projects.trainning.model.CancelamentoMatricula) Matricula(com.tomasio.projects.trainning.model.Matricula) NotificacaoMatricula(com.tomasio.projects.trainning.model.NotificacaoMatricula) PreMatricula(com.tomasio.projects.trainning.model.PreMatricula) BigDecimal(java.math.BigDecimal) DateTime(org.joda.time.DateTime) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) Pessoa(com.tomasio.projects.trainning.model.Pessoa) DAOException(com.tomasio.projects.trainning.exception.DAOException) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) Organizacao(com.tomasio.projects.trainning.model.Organizacao) CancelamentoMatriculaDAO(com.tomasio.projects.trainning.dao.CancelamentoMatriculaDAO) MatriculaDAO(com.tomasio.projects.trainning.dao.MatriculaDAO) NotificacaoMatriculaDAO(com.tomasio.projects.trainning.dao.NotificacaoMatriculaDAO) PreMatriculaDAO(com.tomasio.projects.trainning.dao.PreMatriculaDAO) Days(org.joda.time.Days) ExternoDTO(com.tomasio.projects.trainning.dto.ExternoDTO) Transactional(org.springframework.transaction.annotation.Transactional)

Example 43 with Organizacao

use of com.tomasio.projects.trainning.model.Organizacao in project trainning by fernandotomasio.

the class ImportPessoasFromSIGPESToTrainning method execute.

public void execute() {
    PessoaDAO pessoaDAO = factory.getPessoaDAO();
    OrganizacaoDAO organizacaoDA0 = factory.getOrganizacaoDAO();
    try {
        int updated = pessoaDAO.setAllInactive();
        System.out.println(updated + " registros marcados como inativos");
        Connection conn = DriverManager.getConnection("jdbc:postgresql://10.32.63.101/sigpes_interface?user=sigpesuser&password=#ccarj123#");
        Statement stm = conn.createStatement();
        ResultSet rs = stm.executeQuery("SELECT * FROM militares");
        ArrayList<String> rejectedCPF = new ArrayList<String>();
        ArrayList<String> organizacoesInexistentes = new ArrayList<String>();
        int i = 0;
        while (rs.next()) {
            i++;
            String nrOrdem = rs.getString("nr_ordem");
            String nrCpf = rs.getString("nr_cpf");
            String sgQdr = rs.getString("sg_qdr");
            String sgPosto = rs.getString("sg_posto");
            String sgEspd = rs.getString("sg_espd");
            String nmGuerra = rs.getString("nm_guerra");
            String nmPessoa = rs.getString("nm_pessoa");
            Date dtPraca = rs.getDate("dt_praca");
            Date dtApres = rs.getDate("dt_apres_atual");
            Date dtNasc = rs.getDate("dt_nasc");
            String cdOrg = rs.getString("cd_org");
            String cdOrgSvc = rs.getString("cd_org_svc");
            String pesFisType = rs.getString("pesfis_type");
            String sgSexo = rs.getString("sg_sexo");
            String nrAntiguidade = rs.getString("nr_antiguidade");
            String nmEmail = rs.getString("nm_email");
            if (nrCpf == null || nrCpf.length() != 11) {
                rejectedCPF.add(nmPessoa + " " + nrCpf);
                continue;
            }
            String formmatedCPF = nrCpf.substring(0, 3) + "." + nrCpf.substring(3, 6) + "." + nrCpf.substring(6, 9) + "-" + nrCpf.substring(9, 11);
            if (nrOrdem.length() == 7) {
                nrOrdem = nrOrdem.substring(0, 3) + "." + nrOrdem.substring(3, 6) + "-" + nrOrdem.substring(6, 7);
            }
            Pessoa pessoa = pessoaDAO.findByCPF(formmatedCPF);
            String sigla = getSiglaOrganizacao(cdOrg);
            Organizacao organizacao = organizacaoDA0.findBySigla(sigla);
            if (organizacao == null) {
                String s = sigla.replace("-", "");
                organizacao = organizacaoDA0.findBySigla(s);
            }
            if (organizacao == null) {
                String s = sigla.replace(" ", "");
                organizacao = organizacaoDA0.findBySigla(s);
            }
            if (organizacao == null) {
                String s = sigla.replace("-", " ");
                organizacao = organizacaoDA0.findBySigla(s);
            }
            if (organizacao == null) {
                String s = sigla.replace("/", "").replace(" ", "");
                organizacao = organizacaoDA0.findBySigla(s);
            }
            if (pessoa == null) {
                pessoa = new Pessoa();
                pessoa.setNome(nmPessoa);
                pessoa.setCpf(formmatedCPF);
                pessoa.setEspecialidade(sgEspd);
                if (nrAntiguidade != null) {
                    int antiguidade = Integer.parseInt(nrAntiguidade);
                    pessoa.setAntiguidade(antiguidade);
                }
                pessoa.setEmailSIGPES(nmEmail);
                pessoa.setNomeGuerra(nmGuerra);
                if (pesFisType != null && pesFisType.equals("CIVIL")) {
                    pessoa.setPosto("CV");
                } else {
                    pessoa.setPosto(sgPosto);
                }
                if (pesFisType != null && pesFisType.equals("TTC")) {
                    pessoa.setQuadro("R1");
                } else {
                    pessoa.setQuadro(sgQdr);
                }
                pessoa.setSaram(nrOrdem);
                if (organizacao != null) {
                    pessoa.setOrganizacao(organizacao);
                }
                pessoa.setSexo(sgSexo);
                pessoa.setDataApresAtual(dtApres);
                pessoa.setDataNascimento(dtNasc);
                pessoa.setDataPraca(dtPraca);
                pessoa.setImported(true);
                pessoa.setAtivo(true);
                try {
                    pessoaDAO.create(pessoa);
                    System.out.println(i + " CREATE PESSOA:" + pessoa.getCpf() + ", " + pessoa.getNome() + ", antiguidade: " + pessoa.getAntiguidade());
                } catch (Exception e) {
                    System.out.println("ERRO AO CRIAR PESSOA: " + pessoa.getCpf() + ", " + pessoa.getNome() + ", antiguidade: " + pessoa.getAntiguidade());
                }
            } else {
                pessoa.setNome(nmPessoa);
                pessoa.setEspecialidade(sgEspd);
                pessoa.setNomeGuerra(nmGuerra);
                System.out.println("Unparsed Antiguidade" + nrAntiguidade);
                if (nrAntiguidade != null) {
                    int antiguidade = Integer.parseInt(nrAntiguidade);
                    System.out.println("Parsed Antiguidade: " + antiguidade);
                    pessoa.setAntiguidade(antiguidade);
                }
                pessoa.setEmailSIGPES(nmEmail);
                if (pesFisType != null && pesFisType.equals("TTC")) {
                    pessoa.setQuadro("R1");
                } else {
                    pessoa.setQuadro(sgQdr);
                }
                if (pesFisType != null && pesFisType.equals("CIVIL")) {
                    pessoa.setPosto("CV");
                } else {
                    pessoa.setPosto(sgPosto);
                }
                pessoa.setSaram(nrOrdem);
                if (organizacao != null) {
                    pessoa.setOrganizacao(organizacao);
                }
                pessoa.setSexo(sgSexo);
                pessoa.setDataApresAtual(dtApres);
                pessoa.setDataNascimento(dtNasc);
                pessoa.setDataPraca(dtPraca);
                pessoa.setImported(true);
                pessoa.setAtivo(true);
                try {
                    pessoaDAO.update(pessoa);
                    System.out.println(i + " UPDATE PESSOA:" + pessoa.getCpf() + ", " + pessoa.getNome() + ", antiguidade: " + pessoa.getAntiguidade());
                } catch (Exception e) {
                    System.out.println("ERRO AO ATUALIZAR PESSOA:" + pessoa.getCpf() + ", " + pessoa.getNome() + ", antiguidade: " + pessoa.getAntiguidade());
                }
            }
        }
        System.out.println("CPFS REJEITADOS ------------------------------");
        for (String cpf : rejectedCPF) {
            System.out.println(cpf);
        }
        System.out.println("OMS NÃO CADASTRADAS ------------------------------");
        for (String o : organizacoesInexistentes) {
            System.out.println(o);
        }
        conn.close();
    } catch (DAOException ex) {
        Logger.getLogger(ImportPessoasFromSIGPESToTrainning.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SQLException ex) {
        Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : HibernatePessoaDAO(com.tomasio.projects.trainning.dao.HibernatePessoaDAO) PessoaDAO(com.tomasio.projects.trainning.dao.PessoaDAO) ArrayList(java.util.ArrayList) DAOException(com.tomasio.projects.trainning.exception.DAOException) Pessoa(com.tomasio.projects.trainning.model.Pessoa) DAOException(com.tomasio.projects.trainning.exception.DAOException) HibernateOrganizacaoDAO(com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) Organizacao(com.tomasio.projects.trainning.model.Organizacao)

Example 44 with Organizacao

use of com.tomasio.projects.trainning.model.Organizacao in project trainning by fernandotomasio.

the class OrganizationalServiceSimpleImpl method searchOrganizacoesFAB.

@Override
@Transactional(readOnly = true)
public OrganizacaoDTO[] searchOrganizacoesFAB(String term) {
    OrganizacaoDAO dao = factory.getOrganizacaoDAO();
    OrganizacaoDTO[] organizacoesArray = null;
    try {
        List<Organizacao> organizacoes = dao.searchOrganizacaoFAB(term);
        if (organizacoes != null) {
            organizacoesArray = convertToArray(organizacoes);
        }
    } catch (DAOException ex) {
        throw new CoreException("Erro de de acesso ao banco de dados: " + ex.getMessage());
    }
    return organizacoesArray;
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) Organizacao(com.tomasio.projects.trainning.model.Organizacao) CoreException(com.tomasio.projects.trainning.exeption.CoreException) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) Transactional(org.springframework.transaction.annotation.Transactional)

Example 45 with Organizacao

use of com.tomasio.projects.trainning.model.Organizacao in project trainning by fernandotomasio.

the class OrganizationalServiceSimpleImpl method searchOrganizacoesExternasBySigla.

@Override
@Transactional(readOnly = true)
public OrganizacaoDTO[] searchOrganizacoesExternasBySigla(String term) {
    OrganizacaoDAO dao = factory.getOrganizacaoDAO();
    OrganizacaoDTO[] organizacoesArray = null;
    try {
        List<Organizacao> organizacoes = dao.searchExternoBySigla(term);
        if (organizacoes != null) {
            organizacoesArray = convertToArray(organizacoes);
        }
    } catch (DAOException ex) {
        throw new CoreException("Erro de de acesso ao banco de dados: " + ex.getMessage());
    }
    return organizacoesArray;
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) Organizacao(com.tomasio.projects.trainning.model.Organizacao) CoreException(com.tomasio.projects.trainning.exeption.CoreException) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

Organizacao (com.tomasio.projects.trainning.model.Organizacao)80 DAOException (com.tomasio.projects.trainning.exception.DAOException)77 Transactional (org.springframework.transaction.annotation.Transactional)45 CoreException (com.tomasio.projects.trainning.exeption.CoreException)41 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)35 OrganizacaoDAO (com.tomasio.projects.trainning.dao.OrganizacaoDAO)19 Pessoa (com.tomasio.projects.trainning.model.Pessoa)19 PessoaDAO (com.tomasio.projects.trainning.dao.PessoaDAO)17 HibernatePessoaDAO (com.tomasio.projects.trainning.dao.HibernatePessoaDAO)15 ImportTurmasImplEfetivasFromTabelao (com.tomasio.projects.trainning.migration.ImportTurmasImplEfetivasFromTabelao)10 ResultSet (java.sql.ResultSet)10 SQLException (java.sql.SQLException)10 Statement (java.sql.Statement)10 HibernateOrganizacaoDAO (com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO)9 ArrayList (java.util.ArrayList)9 Date (java.sql.Date)8 NetworkUserDAO (com.tomasio.projects.trainning.dao.NetworkUserDAO)5 Session (org.hibernate.Session)5 MatriculaDAO (com.tomasio.projects.trainning.dao.MatriculaDAO)4 NetworkGroupDAO (com.tomasio.projects.trainning.dao.NetworkGroupDAO)4