use of com.tomasio.projects.trainning.dto.ComandoDTO in project trainning by fernandotomasio.
the class PlamensController method showIndex.
@RequestMapping("/solicitacoes_plamens")
public String showIndex(Model model, @ModelAttribute("userOrganization") OrganizacaoDTO userOrganization, WebRequest request) {
List<Map<Object, Object>> solicitacoes = new ArrayList<Map<Object, Object>>();
List<Map<Object, Object>> rascunhos = new ArrayList<Map<Object, Object>>();
SolicitacaoPlamensDTO[] listaCompleta;
if (userOrganization instanceof ComandoDTO) {
listaCompleta = planningService.findAllSolicitacoesPlamens(2019, userOrganization.getId(), null);
} else {
listaCompleta = planningService.findAllSolicitacoesPlamens(2019, null, userOrganization.getId());
}
for (SolicitacaoPlamensDTO solicitacao : listaCompleta) {
Map<Object, Object> item = new HashMap<Object, Object>();
item.put("organizacao", solicitacao.getOrganizacaoSolicitante().getSigla());
item.put("tipo", solicitacao.getTipo());
item.put("curso", solicitacao.getCurso());
item.put("prioridade", solicitacao.getPrioridade());
item.put("duracao", solicitacao.getDuracao());
item.put("dataInicio", solicitacao.getDataInicioFormatted());
item.put("dataTermino", solicitacao.getDataTerminoFormatted());
item.put("quantidadeVagas", solicitacao.getQuantidadeVagas());
item.put("id", solicitacao.getId());
item.put("cursoTotal", solicitacao.getCustoTotalFormatted());
if (solicitacao.isRascunho()) {
rascunhos.add(item);
} else {
solicitacoes.add(item);
}
}
model.addAttribute("solicitacoes", solicitacoes);
model.addAttribute("rascunhos", rascunhos);
model.addAttribute("totalSolicitacoes", solicitacoes.size());
model.addAttribute("totalRascunhos", rascunhos.size());
return "solicitacoes_plamens";
}
use of com.tomasio.projects.trainning.dto.ComandoDTO 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.ComandoDTO in project trainning by fernandotomasio.
the class OrganizationalServiceSimpleImpl method intantiateOrganizacao.
private Organizacao intantiateOrganizacao(OrganizacaoDTO dto) {
Organizacao organizacao;
if (dto instanceof ExternoDTO) {
ExternoDTO aux = (ExternoDTO) dto;
organizacao = new Externo(aux);
} else if (dto instanceof ComandoDTO) {
ComandoDTO aux = (ComandoDTO) dto;
organizacao = new Comando(aux);
} else {
UnidadeDTO aux = (UnidadeDTO) dto;
organizacao = new Unidade(aux);
}
return organizacao;
}
Aggregations