use of com.tomasio.projects.trainning.dto.ExternoDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method calculateCustoRealizadoInstrutores.
@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoRealizadoInstrutores(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> instrucoes = matriculaDAO.findAllInstrutores(turma.getId());
for (Matricula matricula : instrucoes) {
if (matricula.isCancelada()) {
continue;
}
matricula.getIndicacao().getId();
IndicacaoInstrutorDTO indicacao = (IndicacaoInstrutorDTO) matricula.getIndicacao().createDTO();
int intervalo = 0;
Interval instrucaoInterval = null;
if (indicacao.getPeriodo() != null && indicacao.getPeriodo().getDataInicio() != null && indicacao.getPeriodo().getDataTermino() != null) {
DateTime dataInicioInstrucao = new DateTime(indicacao.getPeriodo().getDataInicio().getTime());
DateTime dataTerminoInstrucao = new DateTime(indicacao.getPeriodo().getDataTermino().getTime());
if (dataInicioInstrucao.isAfter(dataTerminoInstrucao)) {
continue;
}
instrucaoInterval = new Interval(dataInicioInstrucao, dataTerminoInstrucao);
Days d = Days.daysBetween(dataInicioInstrucao, dataTerminoInstrucao);
intervalo = d.getDays() + 2;
}
if (intervalo <= 0) {
continue;
}
if (intervalo > 50) {
intervalo = 50;
}
Pessoa pessoa = pessoaDAO.find(indicacao.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
Organizacao organizacaoInstrutor = organizacaoDAO.find(pessoa.getOrganizacao().getId());
if (organizacaoInstrutor.createDTO() instanceof ExternoDTO) {
continue;
}
FaseDTO[] fases = turma.getFases();
for (FaseDTO fase : fases) {
if (fase.getDataInicio() != null && fase.getDataTermino() != null) {
DateTime dataInicioFase = new DateTime(fase.getDataInicio().getTime());
DateTime dataTerminoFase = new DateTime(fase.getDataTermino().getTime());
if (dataTerminoFase.isBefore(dataInicioFase)) {
continue;
}
Interval faseInterval = new Interval(dataInicioFase, dataTerminoFase);
if (faseInterval.contains(instrucaoInterval) || instrucaoInterval.contains(faseInterval)) {
Organizacao organizacaoLocal = organizacaoDAO.find(fase.getLocal().getId());
if (!organizacaoInstrutor.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.dto.ExternoDTO in project trainning by fernandotomasio.
the class EXC007ODF method makeReport.
@Override
public void makeReport() {
AtividadesEnsinoService service = (AtividadesEnsinoService) services.get("atividadesEnsinoService");
OrganizationalService organizationalService = (OrganizationalService) services.get("organizationalService");
try {
odt = OdfTextDocument.newTextDocument();
Long turmaId = (Long) params.get("turmaId");
TurmaEfetivaDTO turma = (TurmaEfetivaDTO) service.findTurmaEfetiva(turmaId);
IndicacaoDTO[] indicacoesAlunos = service.findAllIndicacoesAlunosSelecionados(turmaId);
IndicacaoInstrutorDTO[] indicacoesInstrutores = service.findAllIndicacoesInstrutoresSelecionados(turmaId);
FaseDTO[] periodos = turma.getFases();
List<OrganizacaoDTO> locaisRealizacao = new ArrayList<>();
String textoPeriodo = "";
boolean cursoEAD = false;
boolean ehGT = false;
ehGT = turma.getCurso().isEhGT();
for (FaseDTO faseDTO : periodos) {
if (turma.getFases() != null) {
locaisRealizacao.add(faseDTO.getLocal());
String local = "";
if (faseDTO.getLocal() != null) {
local = faseDTO.getLocal().getSigla();
}
textoPeriodo += local;
if (faseDTO.getPeriodoFormatted() != null) {
textoPeriodo += ", NO PERÍODO DE " + faseDTO.getPeriodoFormatted().replace("a", "A");
} else {
textoPeriodo += ", NO PERÍODO DE ...";
}
textoPeriodo += " (" + faseDTO.getDescricao() + ") ";
}
if (faseDTO.getTipoFase().equals("EAD")) {
cursoEAD = true;
}
}
String inicial = "";
inicial += "INFO VEX ATZD ATV E MTCL DO CURSO ";
inicial += turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao();
inicial += ", ";
inicial += "TURMA" + turma.getNumeroTurma();
inicial += ", A SER REALIZADO NO ";
inicial += textoPeriodo;
inicial += " COM OS PARTICIPANTES ABAIXO RELACIONADOS:";
Set<String> organizacoes = new HashSet<String>();
String enderecamento = "";
for (IndicacaoDTO indicacaoDTO : indicacoesAlunos) {
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(indicacaoDTO.getOrganizacao().getId());
organizacoes.add(organizacao.getSigla());
PessoaDTO pessoa = organizationalService.findPessoa(indicacaoDTO.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
organizacoes.add(pessoa.getOrganizacao().getSigla());
}
}
OrganizacaoDTO organizacaoResponsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
organizacoes.add(organizacaoResponsavel.getSigla());
for (IndicacaoDTO indicacaoDTO : indicacoesInstrutores) {
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(indicacaoDTO.getOrganizacao().getId());
organizacoes.add(organizacao.getSigla());
PessoaDTO pessoa = organizationalService.findPessoa(indicacaoDTO.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
organizacoes.add(pessoa.getOrganizacao().getSigla());
}
}
organizacaoResponsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
organizacoes.add(organizacaoResponsavel.getSigla());
for (String sigla : organizacoes) {
enderecamento += " " + sigla;
}
odt.newParagraph(enderecamento);
odt.newParagraph("");
odt.newParagraph(inicial);
odt.newParagraph("");
odt.newParagraph("INSTRUTORES:");
odt.newParagraph("");
for (IndicacaoInstrutorDTO indicacao : indicacoesInstrutores) {
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
indicacao = (IndicacaoInstrutorDTO) service.findIndicacao(indicacao.getId());
String indicado = pessoa.getTargetaCompleta();
indicado += ", ";
indicado += "CPF: " + pessoa.getCpf();
if (cursoEAD || ehGT) {
indicado += ", EMAIL: " + indicacao.getEmail();
}
if (pessoa.getOrganizacao() != null) {
indicado += " (" + pessoa.getOrganizacao().getSigla() + "), PERÍODO DE ";
} else {
indicado += " (), PERÍODO DE ";
}
if (indicacao.getPeriodo() != null) {
indicado += indicacao.getPeriodo().getPeriodoFormatted().replace("a", "A") + ";";
}
odt.newParagraph(indicado);
}
odt.newParagraph("ALUNOS:");
odt.newParagraph("");
for (IndicacaoDTO indicacao : indicacoesAlunos) {
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
indicacao = service.findIndicacao(indicacao.getId());
String indicado = pessoa.getTargetaCompleta();
indicado += ", ";
indicado += "CPF: " + pessoa.getCpf();
if (cursoEAD) {
indicado += ", EMAIL: " + indicacao.getEmail();
}
if (pessoa.getOrganizacao() != null) {
indicado += " (" + pessoa.getOrganizacao().getSigla() + ");";
}
odt.newParagraph(indicado);
}
String instrutores = "";
odt.newParagraph("");
OrganizacaoDTO gestora = organizationalService.findOrganizacao(turma.getOrganizacaoGestoraId());
if (gestora.getSigla().equals("CISCEA")) {
odt.newParagraph("INFO VEX AINDA, QUE: ");
}
for (OrganizacaoDTO local : locaisRealizacao) {
if (local instanceof ExternoDTO) {
if (local.getEnderecos() != null && local.getEnderecos().length > 0) {
EnderecoDTO endereco = local.getEnderecos()[0];
odt.newParagraph("A) ENDEREÇO DA EMPRESA " + local.getNome().toUpperCase());
if (endereco.getCidade() != null && endereco.getCidade().getEstado() != null) {
odt.newParagraph("- CIDADE: " + endereco.getCidade().getNome().toUpperCase() + "-" + endereco.getCidade().getEstado().getSigla());
}
if (endereco.getBairro() != null) {
odt.newParagraph("-BAIRRO: " + endereco.getBairro().toUpperCase());
}
if (endereco.getLogradouro() != null) {
odt.newParagraph("-RUA: " + endereco.getLogradouro().toUpperCase());
}
if (endereco.getNumero() != null) {
odt.newParagraph("-NÚMERO: " + endereco.getNumero().toUpperCase());
}
odt.newParagraph("-CEP: " + endereco.getCep());
odt.newParagraph("-TEL: +55 55 5555-5555 / FAX +55 55 5555-5555");
}
}
}
if (gestora.getSigla().equals("CISCEA")) {
odt.newParagraph("B) CADA SIAT DEVERÁ ENCAMINHAR À CISCEA, NO PRAZO MÁXIMO DE 10 DIAS APÓS O ENCERRAMENTO DO CURSO, DOCUMENTO INFORMANDO SE O MESMO FOI REALIZADO DE FORMA SATISFATÓRIA,");
odt.newParagraph(" CASO O CURSO TENHA SIDO INSATISFATÓRIO, ENCAMINHAR O DOCUMENTO COM UM RELATÓRIO CONCLUSIVO.");
}
odt.save(os);
} catch (Exception ex) {
Logger.getLogger(EXC007ODF.class.getName()).log(Level.SEVERE, null, ex);
}
}
use of com.tomasio.projects.trainning.dto.ExternoDTO in project trainning by fernandotomasio.
the class OrganizacoesController method saveOrganizacao.
@RequestMapping("/save")
public String saveOrganizacao(Model model, @Valid OrganizacaoForm organizacaoForm, BindingResult bindingResult, WebRequest request) {
String tipo = request.getParameter("tipo");
if (bindingResult.hasErrors()) {
model.addAttribute("organizacoes", organizationalService.findAllOrganizacoesFAB());
return "organizacoes/form";
}
OrganizacaoDTO dto = null;
if (tipo.equals("ODSA")) {
dto = new ComandoDTO();
} else if (tipo.equals("UNIDADE")) {
dto = new UnidadeDTO();
UnidadeDTO unidade = (UnidadeDTO) dto;
unidade.setParent((OrganizacaoFABDTO) organizationalService.findOrganizacao(organizacaoForm.getParentId()));
} else if (tipo.equals("EXTERNO")) {
dto = new ExternoDTO();
} else {
return "404";
}
dto.setSigla(organizacaoForm.getSigla());
dto.setNome(organizacaoForm.getNome());
dto.setId(organizacaoForm.getId());
dto.setCidade(organizationalService.findCidade(organizacaoForm.getCidadeProvisorioId()));
EnderecoDTO endereco = new EnderecoDTO();
endereco.setBairro(organizacaoForm.getBairro());
endereco.setCep(organizacaoForm.getCep());
CidadeDTO cidade = organizationalService.findCidade(organizacaoForm.getCidadeId());
endereco.setCidade(cidade);
endereco.setComplemento(organizacaoForm.getComplemento());
endereco.setLogradouro(organizacaoForm.getLogradouro());
endereco.setNumero(organizacaoForm.getNumero());
endereco.setReferencia(organizacaoForm.getReferencia());
dto.setEnderecos(new EnderecoDTO[] { endereco });
if (organizacaoForm.getId() > 0) {
try {
organizationalService.updateOrganizacao(dto);
model.addAttribute("successMessage", "Organização atualizada com sucesso.");
} catch (CoreException e) {
model.addAttribute("errorMessage", e.getMessage());
}
} else {
try {
organizationalService.createOrganizacao(dto);
model.addAttribute("successMessage", "Organização criada com sucesso.");
} catch (CoreException e) {
model.addAttribute("errorMessage", e.getMessage());
}
}
OrganizacaoDTO[] organizacoes = organizationalService.findAllOrganizacoes();
model.addAttribute("organizacoes", organizacoes);
model.addAttribute("total", organizacoes.length);
return "organizacoes";
}
use of com.tomasio.projects.trainning.dto.ExternoDTO 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.dto.ExternoDTO 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;
}
Aggregations