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;
}
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;
}
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);
}
}
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());
}
}
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;
}
Aggregations