Search in sources :

Example 16 with OrganizacaoDAO

use of com.tomasio.projects.trainning.dao.OrganizacaoDAO 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 17 with OrganizacaoDAO

use of com.tomasio.projects.trainning.dao.OrganizacaoDAO 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 18 with OrganizacaoDAO

use of com.tomasio.projects.trainning.dao.OrganizacaoDAO 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 19 with OrganizacaoDAO

use of com.tomasio.projects.trainning.dao.OrganizacaoDAO in project trainning by fernandotomasio.

the class UserServiceSimpleImpl method updateUser.

@Override
@Transactional(readOnly = true)
public void updateUser(NetworkUserDTO user, String[] roles) {
    NetworkUserDAO userDAO = factory.getNetworkUserDAO();
    NetworkGroupDAO groupDAO = factory.getNetworkGroupDAO();
    OrganizacaoDAO organizacaoDAO = factory.getOrganizacaoDAO();
    try {
        NetworkUserDTO oldUser = userDAO.find(user.getLogin());
        userDAO.update(user);
        if (!oldUser.getOrganizacao().equals(user.getOrganizacao())) {
            // REMOVER DO GRUPO DA ORGANIZAÇÃO ANTIGA
            NetworkGroupDTO oldOrganizationGroup = groupDAO.findOrganization(oldUser.getOrganizacao());
            if (oldOrganizationGroup != null) {
                oldOrganizationGroup.getMembers().remove(oldUser.getId());
                if (oldOrganizationGroup.getMembers().size() > 0) {
                    groupDAO.update(oldOrganizationGroup);
                } else {
                    groupDAO.removeOrganization(oldUser.getOrganizacao());
                }
            }
            // ADICIONAR AO GRUPO DA ORGANIZAÇÃO NOVA
            Organizacao organizacao = organizacaoDAO.findBySigla(user.getOrganizacao());
            NetworkGroupDTO organizationGroup = groupDAO.findOrganization(organizacao.getSigla());
            if (organizationGroup == null) {
                organizationGroup = new NetworkGroupDTO();
                organizationGroup.setNome(organizacao.getSigla());
                organizationGroup.setDescricao(organizacao.getNome());
                organizationGroup.getMembers().add(user.getId());
                groupDAO.createOrganization(organizationGroup);
            } else {
                organizationGroup.getMembers().add(user.getId());
                groupDAO.update(organizationGroup);
            }
        }
        // REMOVER DE TODAS AS ROLES
        List<NetworkGroupDTO> roleGroups = groupDAO.findAllRoles();
        for (NetworkGroupDTO roleGroup : roleGroups) {
            NetworkGroupDTO r = groupDAO.findRole(roleGroup.getNome());
            r.getMembers().remove(oldUser.getId());
            groupDAO.update(r);
        }
        // ADICIONAR NOVAS ROLES
        if (roles != null) {
            for (String role : roles) {
                NetworkGroupDTO roleGroup = groupDAO.findRole(role);
                roleGroup.getMembers().add(user.getId());
                groupDAO.update(roleGroup);
            }
        }
    } catch (DAOException ex) {
        throw new CoreException("Erro de acesso ao serviço de diretórios: " + ex.getMessage());
    }
}
Also used : NetworkGroupDTO(com.tomasio.projects.trainning.dto.NetworkGroupDTO) DAOException(com.tomasio.projects.trainning.exception.DAOException) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) NetworkUserDTO(com.tomasio.projects.trainning.dto.NetworkUserDTO) Organizacao(com.tomasio.projects.trainning.model.Organizacao) CoreException(com.tomasio.projects.trainning.exeption.CoreException) NetworkUserDAO(com.tomasio.projects.trainning.dao.NetworkUserDAO) NetworkGroupDAO(com.tomasio.projects.trainning.dao.NetworkGroupDAO) Transactional(org.springframework.transaction.annotation.Transactional)

Example 20 with OrganizacaoDAO

use of com.tomasio.projects.trainning.dao.OrganizacaoDAO in project trainning by fernandotomasio.

the class ImportTurmasImplEfetivasFromTabelao method recuperarPessoaFromPefcaext.

private Pessoa recuperarPessoaFromPefcaext(String cpf, Connection conn) {
    try {
        PessoaDAO pessoaDAO = new HibernatePessoaDAO();
        OrganizacaoDAO organizacaoDAO = new HibernateOrganizacaoDAO();
        Statement stm = conn.createStatement();
        ResultSet rs = stm.executeQuery("select * from pefcaext where CPF='" + cpf + "'");
        while (rs.next()) {
            String local = rs.getString("LOCATUAL");
            String CPF = rs.getString("CPF");
            String nome = rs.getString("NOME");
            String posto = rs.getString("POSTO");
            Pessoa pessoa = new Pessoa();
            pessoa.setNome(nome);
            pessoa.setCpf(CPF);
            pessoa.setPosto(posto);
            if (cpf == null) {
                // System.out.println("impossível recuperar pessoa no banco pefcacext" + cpf);
                return null;
            }
            local = corrigirLocal(local);
            Organizacao organizacao = organizacaoDAO.findBySigla(local);
            if (organizacao == null) {
                // System.out.println("impossível recuperar pessoa, pois organização é nula" + local);
                return null;
            }
            if (organizacao != null) {
                pessoa.setOrganizacao(organizacao);
            }
            Long pessoaId = pessoaDAO.create(pessoa);
            return pessoaDAO.find(pessoaId);
        }
    } catch (SQLException ex) {
        Logger.getLogger(ImportTurmasImplEfetivasFromTabelao.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DAOException ex) {
        Logger.getLogger(ImportTurmasImplEfetivasFromTabelao.class.getName()).log(Level.SEVERE, null, ex);
    }
    return null;
}
Also used : HibernatePessoaDAO(com.tomasio.projects.trainning.dao.HibernatePessoaDAO) PessoaDAO(com.tomasio.projects.trainning.dao.PessoaDAO) HibernateOrganizacaoDAO(com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO) Pessoa(com.tomasio.projects.trainning.model.Pessoa) DAOException(com.tomasio.projects.trainning.exception.DAOException) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) HibernateOrganizacaoDAO(com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO) Organizacao(com.tomasio.projects.trainning.model.Organizacao) HibernatePessoaDAO(com.tomasio.projects.trainning.dao.HibernatePessoaDAO)

Aggregations

OrganizacaoDAO (com.tomasio.projects.trainning.dao.OrganizacaoDAO)26 DAOException (com.tomasio.projects.trainning.exception.DAOException)25 Organizacao (com.tomasio.projects.trainning.model.Organizacao)19 HibernateOrganizacaoDAO (com.tomasio.projects.trainning.dao.HibernateOrganizacaoDAO)13 PessoaDAO (com.tomasio.projects.trainning.dao.PessoaDAO)11 Transactional (org.springframework.transaction.annotation.Transactional)10 HibernatePessoaDAO (com.tomasio.projects.trainning.dao.HibernatePessoaDAO)9 IndicacaoDAO (com.tomasio.projects.trainning.dao.IndicacaoDAO)8 Pessoa (com.tomasio.projects.trainning.model.Pessoa)8 HibernateIndicacaoDAO (com.tomasio.projects.trainning.dao.HibernateIndicacaoDAO)6 MatriculaDAO (com.tomasio.projects.trainning.dao.MatriculaDAO)6 NetworkUserDAO (com.tomasio.projects.trainning.dao.NetworkUserDAO)5 TurmaEfetivaDTO (com.tomasio.projects.trainning.dto.TurmaEfetivaDTO)5 CoreException (com.tomasio.projects.trainning.exeption.CoreException)5 Date (java.util.Date)5 HibernateMatriculaDAO (com.tomasio.projects.trainning.dao.HibernateMatriculaDAO)4 NetworkGroupDAO (com.tomasio.projects.trainning.dao.NetworkGroupDAO)4 FaseDTO (com.tomasio.projects.trainning.dto.FaseDTO)4 NetworkGroupDTO (com.tomasio.projects.trainning.dto.NetworkGroupDTO)4 BigDecimal (java.math.BigDecimal)4