use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class TurmasEfetivasController method showIndex.
@RequestMapping({ "/", "/index", "" })
public String showIndex(Model model, TurmaSearchForm searchForm, BindingResult bindingResult, @ModelAttribute("organizacaoGestora") OrganizacaoDTO organizacaoGestora, HttpServletRequest request) {
SimpleDateFormat dfYear = new SimpleDateFormat("yyyy");
SimpleDateFormat dfDate = new SimpleDateFormat("yyyyMMdd");
Date exercicio = null;
if (searchForm.getAno() != null) {
try {
exercicio = dfYear.parse(searchForm.getAno());
} catch (ParseException ex) {
Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (exercicio == null) {
try {
exercicio = dfYear.parse("2018");
// DEVE MOSTRAR O ANO VIGENTE
// exercicio = (Date) dfYear.parse(dfYear.format(new Date()));
} catch (ParseException ex) {
Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
}
searchForm.setAno(dfYear.format(exercicio));
}
searchForm.setOrganizacaoGestoraId(organizacaoGestora.getId().toString());
TurmaEfetivaDTO[] turmas;
if (searchForm.getSearch() == null || searchForm.getSearch().equals("")) {
turmas = atividadesEnsinoService.findAllTurmasEfetivas(exercicio, null, null, null, Long.parseLong(searchForm.getOrganizacaoGestoraId()), null);
} else {
turmas = atividadesEnsinoService.searchTurmasEfetivas(exercicio, null, null, null, Long.parseLong(searchForm.getOrganizacaoGestoraId()), searchForm.getSearch(), null, null);
}
List turmasDataList = new ArrayList();
for (TurmaEfetivaDTO turma : turmas) {
String responsavelId = turma.getResponsavelId() + "";
// System.out.println("responsavel" + responsavelId + " turmaId = " + turma.getId());
// verificar se usuário filtrou por searchForm.getStatus() (STATUS da Turma)
// int prazoPendencia = 35;
boolean pendenteDecea = false;
if (searchForm.getStatus() == null || searchForm.getStatus().equals("")) {
// verificar usuário filtrou por searchForm.getOrganizacaoId (OM Responsável)
if (searchForm.getOrganizacaoId() == null || searchForm.getOrganizacaoId().equals("")) {
// Não filtrou por Responsável
// não usou nenhum dos dois filtros
Map item = new HashMap();
item.put("id", turma.getId());
item.put("codigo", turma.getCurso().getCodigo());
item.put("descricao", turma.getCurso().getDescricao());
item.put("local", turma.getLocal());
try {
if (turma.getCurso().getAreaId() != null) {
AreaDTO area = trainningService.findArea(turma.getCurso().getAreaId());
if (area != null) {
item.put("area", area.getSigla());
} else {
item.put("area", "N/D");
}
} else {
item.put("area", "N/D");
}
} catch (Exception e) {
item.put("area", "N/D");
}
OrganizacaoDTO responsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
item.put("responsavel", responsavel.getSigla());
item.put("numero", turma.getNumeroTurma());
item.put("dataInicio", turma.getDataInicioFormatted());
item.put("dataTermino", turma.getDataTerminoFormatted());
item.put("dataAtivacao", turma.getDataAtivacaoFormatted());
if (turma.getPeriodoIndicacao() != null) {
item.put("dataInicioIndicacoes", turma.getPeriodoIndicacao().getDataInicioFormated());
item.put("dataTerminoIndicacoes", turma.getPeriodoIndicacao().getDataTerminoFormated());
}
item.put("extra", turma.isExtra());
if (turma.getDataInicio() != null) {
item.put("dataInicioHidden", dfDate.format(turma.getDataInicio()));
} else {
item.put("dataInicioHidden", "9999");
}
if (turma.getDataTermino() != null) {
item.put("dataTerminoHidden", dfDate.format(turma.getDataTermino()));
} else {
item.put("dataTerminoHidden", "9999");
}
if (turma.getPeriodoIndicacao() != null && turma.getPeriodoIndicacao().getDataInicio() != null) {
item.put("dataInicioIndicacoesHidden", dfDate.format(turma.getPeriodoIndicacao().getDataInicio()));
} else {
item.put("dataInicioIndicacoesHidden", "9999");
}
if (turma.getPeriodoIndicacao() != null && turma.getPeriodoIndicacao().getDataTermino() != null) {
item.put("dataTerminoIndicacoesHidden", dfDate.format(turma.getPeriodoIndicacao().getDataTermino()));
} else {
item.put("dataTerminoIndicacoesHidden", "9999");
}
if (turma.getDataAtivacao() != null) {
item.put("dataAtivacaoHidden", dfDate.format(turma.getDataAtivacao()));
} else {
item.put("dataAtivacaoHidden", "9999");
}
item.put("openForIndicacoes", turma.isOpenForIndicacoes());
if (turma.getStatus().equals("INDICAÇÕES EM ANÁLISE")) {
item.put("cssClass", "info");
}
if (turma.getStatus().equals("ATIVADO")) {
item.put("cssClass", "ativado");
}
if (turma.getStatus().equals("EM ANDAMENTO")) {
item.put("cssClass", "andamento");
}
if (turma.getStatus().equals("PROGRAMADO")) {
// item.put("cssClass", "pendente blink_me");
if (organizacaoGestora.getSigla().equals("DECEA")) {
// REGRA SOMENTE PARA OS CURSOS DO DECEA !!
if (turma.getDataAtivacao() != null) {
Calendar data = Calendar.getInstance();
// if (turma.getDataAtivacao().before(data.getTime()) || turma.getDataAtivacao().before(data2.getTime())) {
if (turma.getDataAtivacao().before(data.getTime())) {
item.put("cssClass", "pendente blink_me");
pendenteDecea = true;
} else {
item.put("cssClass", "programado");
}
}
} else {
item.put("cssClass", "programado");
}
}
if (turma.isCancelado()) {
item.put("cssClass", "cancelado");
}
if (turma.getStatus().equals("INSC. ABERTAS")) {
item.put("cssClass", "success");
}
if (turma.getProcessStatus() != null && turma.getProcessStatus().equals("AGUARDANDO DIVULGAÇÃO")) {
item.remove("cssClass");
item.put("cssClass", "danger");
}
// TEM QUE FICAR POR ÚLTIMO
if ((turma.getDataInicioFormatted() != null) && (turma.getDataInicioFormatted().equalsIgnoreCase("31/12/2017") || turma.isAdiado())) {
item.put("status", "ADIADO");
item.remove("cssClass");
item.put("cssClass", "danger");
} else if (pendenteDecea) {
// REGRA SOMENTE PARA OS CURSOS DO DECEA !!
item.put("status", "PENDENTE");
} else {
item.put("status", turma.getStatus());
}
item.put("processStatus", turma.getProcessStatus());
turmasDataList.add(item);
} else // filtrou por Responsável
if (searchForm.getOrganizacaoId().equals(responsavelId)) {
// comparar se a turma é igual filtro passado
Map item = new HashMap();
item.put("id", turma.getId());
item.put("codigo", turma.getCurso().getCodigo());
item.put("descricao", turma.getCurso().getDescricao());
item.put("local", turma.getLocal());
// try {
if (turma.getCurso().getArea().getId() != null) {
AreaDTO area = trainningService.findArea(turma.getCurso().getAreaId());
if (area != null) {
item.put("area", area.getSigla());
} else {
item.put("area", "N/D");
}
} else {
item.put("area", "N/D");
}
// } catch (Exception e) {
// item.put("area", "N/D");
// }
OrganizacaoDTO responsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
item.put("responsavel", responsavel.getSigla());
item.put("numero", turma.getNumeroTurma());
item.put("dataInicio", turma.getDataInicioFormatted());
item.put("dataTermino", turma.getDataTerminoFormatted());
item.put("extra", turma.isExtra());
item.put("openForIndicacoes", turma.isOpenForIndicacoes());
// INCLUI EM 21/02/18
if (turma.getStatus().equals("INDICAÇÕES EM ANÁLISE")) {
item.put("cssClass", "info");
}
if (turma.getStatus().equals("ATIVADO")) {
item.put("cssClass", "ativado");
}
if (turma.getStatus().equals("EM ANDAMENTO")) {
item.put("cssClass", "andamento");
}
if (turma.getStatus().equals("PROGRAMADO")) {
// item.put("cssClass", "pendente blink_me");
if (organizacaoGestora.getSigla().equals("DECEA")) {
// REGRA SOMENTE PARA OS CURSOS DO DECEA !!
if (turma.getDataAtivacao() != null) {
Calendar data = Calendar.getInstance();
// if (turma.getDataAtivacao().before(data.getTime()) || turma.getDataAtivacao().before(data2.getTime())) {
if (turma.getDataAtivacao().before(data.getTime())) {
item.put("cssClass", "pendente blink_me");
pendenteDecea = true;
} else {
item.put("cssClass", "programado");
}
}
} else {
item.put("cssClass", "programado");
}
}
if (turma.isCancelado()) {
item.put("cssClass", "cancelado");
}
if (turma.getStatus().equals("INSC. ABERTAS")) {
item.put("cssClass", "success");
}
if (turma.getProcessStatus() != null && turma.getProcessStatus().equals("AGUARDANDO DIVULGAÇÃO")) {
item.remove("cssClass");
item.put("cssClass", "danger");
}
// TEM QUE FICAR POR ÚLTIMO
if ((turma.getDataInicioFormatted() != null) && (turma.getDataInicioFormatted().equalsIgnoreCase("31/12/2017") || turma.isAdiado())) {
item.put("status", "ADIADO");
item.remove("cssClass");
item.put("cssClass", "danger");
} else if (pendenteDecea) {
// REGRA SOMENTE PARA OS CURSOS DO DECEA !!
item.put("status", "PENDENTE");
} else {
item.put("status", turma.getStatus());
}
turmasDataList.add(item);
}
} else // usuário filtrou por searchForm.getStatus()
if (turma.getStatus().equals(searchForm.getStatus())) {
// verificar se ele filtrou pelo responsavel
if (searchForm.getOrganizacaoId() == null || searchForm.getOrganizacaoId().equals("")) {
// Não filtrou por Responsável
Map item = new HashMap();
item.put("id", turma.getId());
item.put("codigo", turma.getCurso().getCodigo());
item.put("descricao", turma.getCurso().getDescricao());
item.put("local", turma.getLocal());
// try {
if (turma.getCurso().getArea().getId() != null) {
AreaDTO area = trainningService.findArea(turma.getCurso().getAreaId());
if (area != null) {
item.put("area", area.getSigla());
} else {
item.put("area", "N/D");
}
} else {
item.put("area", "N/D");
}
// } catch (Exception e) {
// item.put("area", "N/D");
// }
OrganizacaoDTO responsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
item.put("responsavel", responsavel.getSigla());
item.put("numero", turma.getNumeroTurma());
item.put("dataInicio", turma.getDataInicioFormatted());
item.put("dataTermino", turma.getDataTerminoFormatted());
item.put("extra", turma.isExtra());
item.put("openForIndicacoes", turma.isOpenForIndicacoes());
// INCLUI EM 21/02/18
if (turma.getStatus().equals("INDICAÇÕES EM ANÁLISE")) {
item.put("cssClass", "info");
}
if (turma.getStatus().equals("ATIVADO")) {
item.put("cssClass", "ativado");
}
if (turma.getStatus().equals("EM ANDAMENTO")) {
item.put("cssClass", "andamento");
}
if (turma.getStatus().equals("PROGRAMADO")) {
// item.put("cssClass", "pendente blink_me");
if (organizacaoGestora.getSigla().equals("DECEA")) {
// REGRA SOMENTE PARA OS CURSOS DO DECEA !!
if (turma.getDataAtivacao() != null) {
Calendar data = Calendar.getInstance();
// if (turma.getDataAtivacao().before(data.getTime()) || turma.getDataAtivacao().before(data2.getTime())) {
if (turma.getDataAtivacao().before(data.getTime())) {
item.put("cssClass", "pendente blink_me");
pendenteDecea = true;
} else {
item.put("cssClass", "programado");
}
}
} else {
item.put("cssClass", "programado");
}
}
if (turma.isCancelado()) {
item.put("cssClass", "cancelado");
}
if (turma.getStatus().equals("INSC. ABERTAS")) {
item.put("cssClass", "success");
}
if (turma.getProcessStatus() != null && turma.getProcessStatus().equals("AGUARDANDO DIVULGAÇÃO")) {
item.remove("cssClass");
item.put("cssClass", "danger");
}
// TEM QUE FICAR POR ÚLTIMO
if ((turma.getDataInicioFormatted() != null) && (turma.getDataInicioFormatted().equalsIgnoreCase("31/12/2017") || turma.isAdiado())) {
item.put("status", "ADIADO");
item.remove("cssClass");
item.put("cssClass", "danger");
} else if (pendenteDecea) {
// REGRA SOMENTE PARA OS CURSOS DO DECEA !!
item.put("status", "PENDENTE");
} else {
item.put("status", turma.getStatus());
}
turmasDataList.add(item);
} else // usou os dois filtros
if (searchForm.getOrganizacaoId().equals(responsavelId)) {
// comparar se a turma é igual filtro passado
Map item = new HashMap();
item.put("id", turma.getId());
item.put("codigo", turma.getCurso().getCodigo());
item.put("descricao", turma.getCurso().getDescricao());
item.put("local", turma.getLocal());
// try {
if (turma.getCurso().getArea().getId() != null) {
AreaDTO area = trainningService.findArea(turma.getCurso().getAreaId());
if (area != null) {
item.put("area", area.getSigla());
} else {
item.put("area", "N/D");
}
} else {
item.put("area", "N/D");
}
// } catch (Exception e) {
// item.put("area", "N/D");
// }
OrganizacaoDTO responsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
item.put("responsavel", responsavel.getSigla());
item.put("numero", turma.getNumeroTurma());
item.put("dataInicio", turma.getDataInicioFormatted());
item.put("dataTermino", turma.getDataTerminoFormatted());
item.put("extra", turma.isExtra());
item.put("openForIndicacoes", turma.isOpenForIndicacoes());
// INCLUI EM 21/02/18
if (turma.getStatus().equals("INDICAÇÕES EM ANÁLISE")) {
item.put("cssClass", "info");
}
if (turma.getStatus().equals("ATIVADO")) {
item.put("cssClass", "ativado");
}
if (turma.getStatus().equals("EM ANDAMENTO")) {
item.put("cssClass", "andamento");
}
if (turma.getStatus().equals("PROGRAMADO")) {
// item.put("cssClass", "pendente blink_me");
if (organizacaoGestora.getSigla().equals("DECEA")) {
// REGRA SOMENTE PARA OS CURSOS DO DECEA !!
if (turma.getDataAtivacao() != null) {
Calendar data = Calendar.getInstance();
// if (turma.getDataAtivacao().before(data.getTime()) || turma.getDataAtivacao().before(data2.getTime())) {
if (turma.getDataAtivacao().before(data.getTime())) {
item.put("cssClass", "pendente blink_me");
pendenteDecea = true;
} else {
item.put("cssClass", "programado");
}
}
} else {
item.put("cssClass", "programado");
}
}
if (turma.isCancelado()) {
item.put("cssClass", "cancelado");
}
if (turma.getStatus().equals("INSC. ABERTAS")) {
item.put("cssClass", "success");
}
if (turma.getProcessStatus() != null && turma.getProcessStatus().equals("AGUARDANDO DIVULGAÇÃO")) {
item.remove("cssClass");
item.put("cssClass", "danger");
}
// TEM QUE FICAR POR ÚLTIMO
if ((turma.getDataInicioFormatted() != null) && (turma.getDataInicioFormatted().equalsIgnoreCase("31/12/2017") || turma.isAdiado())) {
item.put("status", "ADIADO");
item.remove("cssClass");
item.put("cssClass", "danger");
} else if (pendenteDecea) {
// REGRA SOMENTE PARA OS CURSOS DO DECEA !!
item.put("status", "PENDENTE");
} else {
item.put("status", turma.getStatus());
}
turmasDataList.add(item);
}
}
}
OrganizacaoDTO[] organizacoes = organizationalService.findAllOrganizacoesSubordinadas(organizacaoGestora.getId());
model.addAttribute("organizacoes", organizacoes);
model.addAttribute("turmas", turmas);
model.addAttribute("total", turmasDataList.size());
model.addAttribute("searchForm", searchForm);
model.addAttribute("turmasDataList", turmasDataList);
return "turmas_efetivas";
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class SGCAuthService method createTurmaEfetiva.
/**
* This is a sample web service operation
*
* @param cursoId
* @param organizacaoGestoraId
* @param organizacaoResponsavelId
* @param numeroTurma
* @param quantidadeVagas
* @param inicioIndicacoes
* @param terminoIndicacoes
* @param fases
* @return
*/
@WebMethod(operationName = "createTurmaEfetiva")
public Long createTurmaEfetiva(@WebParam(name = "cursoId") Long cursoId, @WebParam(name = "organizacaoGestoraId") Long organizacaoGestoraId, @WebParam(name = "organizacaoResponsavelId") Long organizacaoResponsavelId, @WebParam(name = "numeroTurma") Integer numeroTurma, @WebParam(name = "quantidadeVagas") Integer quantidadeVagas, @WebParam(name = "inicioIndicacoes") Date inicioIndicacoes, @WebParam(name = "terminoIndicacoes") Date terminoIndicacoes, @WebParam(name = "fases") FaseDTO[] fases) {
TurmaEfetivaDTO turma = new TurmaEfetivaDTO();
CursoDTO curso = trainningService.findCurso(cursoId);
turma.setCurso(curso);
turma.setOrganizacaoGestoraId(organizacaoGestoraId);
turma.setResponsavelId(organizacaoResponsavelId);
turma.setNumeroTurma(numeroTurma);
PeriodoDTO periodoIndicacoes = new PeriodoDTO();
periodoIndicacoes.setDataInicio(inicioIndicacoes);
periodoIndicacoes.setDataTermino(terminoIndicacoes);
turma.setPeriodoIndicacao(periodoIndicacoes);
turma.setFases(fases);
return trainningService.createCurso(curso);
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class BusinessPermissionsManager method hasPermissionForIndicacao.
public boolean hasPermissionForIndicacao(IndicacaoPermissionModel permission, IndicacaoDTO indicacao, OrganizacaoDTO userOrganization) {
TurmaEfetivaDTO turma = indicacao.getTurma();
OrganizacaoDTO organizacaoIndicadora = indicacao.getOrganizacao();
if (permission.equals(IndicacaoPermissionModel.EDIT)) {
// VERIFICA SE A ORGANIZACAO DO USUÁRIO É A ORGANIZACAO QUE CRIOU INDICOU
if (!organizacaoIndicadora.getId().equals(userOrganization.getId())) {
return false;
}
// NAO PERMITE A INCLUSÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
if (turma.isPreAtivado() || turma.isAtivado()) {
return false;
}
// NAO PERMITE A EDIÇÃO DE INDICAÇÕES FORA DO PERIODO DE INDICAÇÕES
if (!turma.isOpenForIndicacoes()) {
return false;
}
// NAO PERMITE A EDIÇÃO DE INDICAÇÕES JÁ APROVADAS
if (indicacao.isAprovado() && indicacao.getLastWorkflowActor() != null) {
return false;
}
// NAO PERMITE A EDIÇÃO DE INDICAÇÕES JÁ REPROVADAS
if (indicacao.isReprovado()) {
return false;
}
}
if (permission.equals(IndicacaoPermissionModel.REMOVE)) {
// VERIFICA SE A ORGANIZACAO DO USUÁRIO É A ORGANIZACAO QUE CRIOU INDICOU
if (!organizacaoIndicadora.getId().equals(userOrganization.getId())) {
return false;
}
// NAO PERMITE A INCLUSÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
if (turma.isPreAtivado() || turma.isAtivado()) {
return false;
}
// NAO PERMITE A REMOÇÃO DE INDICAÇÕES FORA DO PERIODO DE INDICAÇÕES
if (!turma.isOpenForIndicacoes()) {
return false;
}
// NAO PERMITE A REMOCAO DE INDICAÇÕES JÁ APROVADAS
if (indicacao.isAprovado() && indicacao.getLastWorkflowActor() != null) {
return false;
}
// NAO PERMITE A REMOÇÃO DE INDICAÇÕES JÁ REPROVADAS
if (indicacao.isReprovado()) {
return false;
}
}
if (permission.equals(IndicacaoPermissionModel.APROVE)) {
OrganizacaoDTO nextAprovador = indicacao.getNextWorkflowActor();
if (nextAprovador == null) {
return false;
}
// VERIFICA QUE A ORGANIZAÇÃO DO USUÁRIO NÃO É A PROXIMA NO WORKFLOW DE APROVAÇÃO
if (!userOrganization.getId().equals(nextAprovador.getId())) {
return false;
}
// NAO PERMITE A APROVAÇÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
if (turma.isPreAtivado() || turma.isAtivado()) {
return false;
}
// VERIFICA SE O PERIODO DE APROVAÇÕES ESTÁ FECHADO
if (userOrganization instanceof ComandoDTO) {
if ((!turma.isOpenForAprovacoes()) && (!turma.isOpenForIndicacoes())) {
return false;
}
} else {
if (userOrganization instanceof UnidadeDTO) {
UnidadeDTO userUnidade = (UnidadeDTO) userOrganization;
if (userUnidade.getParent().getId().equals(turma.getOrganizacaoGestoraId())) {
if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
return false;
}
} else {
if (!turma.isOpenForIndicacoes()) {
return false;
}
}
} else {
if (!turma.isOpenForIndicacoes()) {
return false;
}
}
}
}
if (permission.equals(IndicacaoPermissionModel.REJECT)) {
OrganizacaoDTO nextAprovador = indicacao.getNextWorkflowActor();
if (nextAprovador == null) {
return false;
}
// VERIFICA QUE A ORGANIZAÇÃO DO USUÁRIO NÃO É A PROXIMA NO WORKFLOW DE APROVAÇÃO
if (!userOrganization.getId().equals(nextAprovador.getId())) {
return false;
}
// NAO PERMITE A APROVAÇÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
if (turma.isPreAtivado() || turma.isAtivado()) {
return false;
}
// VERIFICA SE O PERIODO DE APROVAÇÕES ESTÁ FECHADO
if (userOrganization instanceof ComandoDTO) {
if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
return false;
}
} else {
if (userOrganization instanceof UnidadeDTO) {
UnidadeDTO userUnidade = (UnidadeDTO) userOrganization;
if (userUnidade.getParent().getId().equals(turma.getOrganizacaoGestoraId())) {
if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
return false;
}
} else {
if (!turma.isOpenForIndicacoes()) {
return false;
}
}
} else {
if (!turma.isOpenForIndicacoes()) {
return false;
}
}
}
}
if (permission.equals(IndicacaoPermissionModel.CANCEL_REJECT)) {
OrganizacaoDTO lastParticipant = indicacao.getLastWorkflowActor();
if (lastParticipant == null) {
return false;
}
// VERIFICA QUE A ORGANIZAÇÃO DO USUÁRIO NÃO É A PROXIMA NO WORKFLOW DE APROVAÇÃO
if (!userOrganization.getId().equals(lastParticipant.getId())) {
return false;
}
// NAO PERMITE A APROVAÇÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
if (turma.isPreAtivado() || turma.isAtivado()) {
return false;
}
// VERIFICA SE O PERIODO DE APROVAÇÕES ESTÁ FECHADO
if (userOrganization instanceof ComandoDTO) {
if ((!turma.isOpenForAprovacoes()) && (!turma.isOpenForIndicacoes())) {
return false;
}
} else {
if (userOrganization instanceof UnidadeDTO) {
UnidadeDTO userUnidade = (UnidadeDTO) userOrganization;
if (userUnidade.getParent().getId().equals(turma.getOrganizacaoGestoraId())) {
if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
return false;
}
} else {
if (!turma.isOpenForIndicacoes()) {
return false;
}
}
} else {
if (!turma.isOpenForIndicacoes()) {
return false;
}
}
}
if (!(indicacao.isReprovado() && lastParticipant.equals(userOrganization))) {
return false;
}
}
if (permission.equals(IndicacaoPermissionModel.CANCEL_APROVE)) {
OrganizacaoDTO lastParticipant = indicacao.getLastWorkflowActor();
if (lastParticipant == null) {
return false;
}
// VERIFICA QUE A ORGANIZAÇÃO DO USUÁRIO NÃO É A PROXIMA NO WORKFLOW DE APROVAÇÃO
if (!userOrganization.getId().equals(lastParticipant.getId())) {
return false;
}
// NAO PERMITE A APROVAÇÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
if (turma.isPreAtivado() || turma.isAtivado()) {
return false;
}
// VERIFICA SE O PERIODO DE APROVAÇÕES ESTÁ FECHADO
if (userOrganization instanceof ComandoDTO) {
if ((!turma.isOpenForAprovacoes()) && (!turma.isOpenForIndicacoes())) {
return false;
}
} else {
if (userOrganization instanceof UnidadeDTO) {
UnidadeDTO userUnidade = (UnidadeDTO) userOrganization;
if (userUnidade.getParent().getId().equals(turma.getOrganizacaoGestoraId())) {
if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
return false;
}
} else {
if (!turma.isOpenForIndicacoes()) {
return false;
}
}
} else {
if (!turma.isOpenForIndicacoes()) {
return false;
}
}
}
if (indicacao.isReprovado()) {
return false;
}
if (!lastParticipant.equals(userOrganization)) {
return false;
}
}
return true;
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO 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.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method searchTurmasEfetivas.
@Override
@Transactional(readOnly = true)
public TurmaEfetivaDTO[] searchTurmasEfetivas(Date exercicio, Long planoId, Long cursoId, Long responsavelId, Long organizacaoGestoraId, String term, Integer pageNumber, Integer pagesize) {
TurmaDAO dao = factory.getTurmaDAO();
TurmaEfetivaDTO[] turmasArray = null;
try {
List<TurmaEfetiva> turmas = dao.searchTurmasEfetivas(exercicio, planoId, cursoId, responsavelId, organizacaoGestoraId, term, pageNumber, pagesize);
if (turmas != null) {
turmasArray = new TurmaEfetivaDTO[turmas.size()];
for (int i = 0; i < turmas.size(); i++) {
turmasArray[i] = turmas.get(i).createDTOWithoutDependencies();
}
}
} catch (DAOException ex) {
ex.printStackTrace();
throw new CoreException(ex.getMessage());
} catch (Exception ex) {
ex.printStackTrace();
throw new CoreException("Erro em tempo de execução: " + ex.getMessage());
}
return turmasArray;
}
Aggregations