use of com.tomasio.projects.trainning.dto.OrganizacaoDTO in project trainning by fernandotomasio.
the class UsuariosController method initializeSelectableOrganizacoes.
private List initializeSelectableOrganizacoes(WebRequest request, OrganizacaoDTO userOrganization) {
List result = new ArrayList();
if (request.isUserInRole("ROLE_ADMINISTRADOR")) {
OrganizacaoDTO[] organizacoes = organizationalService.findAllOrganizacoes();
result.addAll(Arrays.asList(organizacoes));
} else {
result.add(userOrganization);
OrganizacaoDTO[] organizacoes = organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId());
result.addAll(Arrays.asList(organizacoes));
}
return result;
}
use of com.tomasio.projects.trainning.dto.OrganizacaoDTO in project trainning by fernandotomasio.
the class UsuariosController method showIndex.
@RequestMapping({ "/", "/index", "" })
public String showIndex(Model model, @ModelAttribute("userOrganization") OrganizacaoDTO userOrganization, WebRequest request, UsuarioSearchForm searchForm) {
// busca todos usuários
NetworkUserDTO[] usuarios = userService.findAllUsers();
// jogo no ArrayList para trabalhar
List<NetworkUserDTO> usuariosFiltrado = new ArrayList();
usuariosFiltrado.addAll(Arrays.asList(usuarios));
if (request.isUserInRole("ROLE_ADMINISTRADOR")) {
model.addAttribute("organizacoes", organizationalService.findAllOrganizacoes());
} else {
List<OrganizacaoDTO> organizacoesSubordinadas = new ArrayList();
organizacoesSubordinadas.addAll(Arrays.asList(organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId())));
organizacoesSubordinadas.add(userOrganization);
List<String> siglasOrganizacoesSubordinadas = new ArrayList<>();
for (OrganizacaoDTO organizacoesSubordinada : organizacoesSubordinadas) {
siglasOrganizacoesSubordinadas.add(organizacoesSubordinada.getSigla());
}
for (Iterator<NetworkUserDTO> iterator = usuariosFiltrado.iterator(); iterator.hasNext(); ) {
NetworkUserDTO user = iterator.next();
if (siglasOrganizacoesSubordinadas.contains(user.getOrganizacao()) == false) {
iterator.remove();
}
}
model.addAttribute("organizacoes", organizacoesSubordinadas);
}
// verificar usuário filtrou por searchForm.getOrganizacaoId (OM)
if (!(searchForm.getOrganizacao() == null || searchForm.getOrganizacao().equals(""))) {
// corre os usuários verifcando se a OM igual a FILTRADA
for (Iterator<NetworkUserDTO> iterator = usuariosFiltrado.iterator(); iterator.hasNext(); ) {
NetworkUserDTO next = iterator.next();
String usuarioOM = next.getOrganizacao();
if (!(searchForm.getOrganizacao().equals(usuarioOM))) {
// comparar se a OM é igual filtro passado
iterator.remove();
}
}
}
// ordenar a lista de usuários
Collections.sort(usuariosFiltrado, new Comparator<NetworkUserDTO>() {
@Override
public int compare(NetworkUserDTO o1, NetworkUserDTO o2) {
return o1.getNome().compareTo(o2.getNome());
}
});
Collections.sort(usuariosFiltrado, new Comparator<NetworkUserDTO>() {
@Override
public int compare(NetworkUserDTO o1, NetworkUserDTO o2) {
return o1.getOrganizacao().compareTo(o2.getOrganizacao());
}
});
// loop nos usuários para adicionar o perfil
List usuariosFiltradoComPerfil = new ArrayList();
for (NetworkUserDTO usuario : usuariosFiltrado) {
// buscar as roles do usuário
NetworkGroupDTO[] groups = userService.findAllRoleGroups();
List<String> rolesAssigned = new ArrayList<>();
for (NetworkGroupDTO group : groups) {
if (group.getMembers().contains(usuario.getId())) {
rolesAssigned.add(group.getDescricao());
}
}
// ordenaçao das permissoes
Collections.sort(rolesAssigned, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
Map item = new HashMap();
item.put("nome", usuario.getNome());
item.put("posto", usuario.getPosto());
item.put("nomeGuerra", usuario.getNomeGuerra());
item.put("email", usuario.getEmail());
item.put("login", usuario.getLogin());
item.put("organizacao", usuario.getOrganizacao());
item.put("perfil", rolesAssigned);
usuariosFiltradoComPerfil.add(item);
}
// envia para
model.addAttribute("total", usuariosFiltradoComPerfil.size());
model.addAttribute("usuarios", usuariosFiltradoComPerfil);
model.addAttribute("searchForm", searchForm);
// enviar para view a lista de OM subordinadas da OM do usuário
OrganizacaoDTO[] organizacoesSubordinadas = organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId());
List listaOrganizacoesSubordinadas = new ArrayList();
for (OrganizacaoDTO organizacao : organizacoesSubordinadas) {
String siglaOM = organizacao.getSigla();
listaOrganizacoesSubordinadas.add(siglaOM);
}
model.addAttribute("organizacoesSubordinadas", listaOrganizacoesSubordinadas);
return "usuarios";
}
use of com.tomasio.projects.trainning.dto.OrganizacaoDTO in project trainning by fernandotomasio.
the class ChartsController method retrieveIndicacoesFromTurma.
public List<Map<Object, Object>> retrieveIndicacoesFromTurma(Map<Object, Object> turmaData, ExternalContext context) {
List<Map<Object, Object>> result = new ArrayList<Map<Object, Object>>();
OrganizacaoDTO userOrganization = (OrganizacaoDTO) context.getSessionMap().get("userOrganization");
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(userOrganization.getId());
Long[] turmasIds = new Long[1];
turmasIds[0] = (Long) turmaData.get("id");
Long[] organizacoesIds = new Long[1];
organizacoesIds[0] = 202L;
int countMatriculadosSede = 0;
int countIndicadosSede = 0;
int countMatriculadosGDSede = 0;
int countIndicadosGDSede = 0;
int countMatriculadosOfSede = 0;
int countIndicadosOfSede = 0;
List<Map<Object, Object>> indicadosSede = new ArrayList<Map<Object, Object>>();
IndicacaoAlunoDTO[] indicacoes = atividadesEnsinoService.findAllIndicacoesAlunosByOrganizacoesBeneficiadas(ano, organizacoesIds, null, turmasIds);
for (IndicacaoAlunoDTO indicacao : indicacoes) {
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
TurmaEfetivaDTO turma = indicacao.getTurma();
countIndicadosSede++;
if (pessoa.isOficial()) {
countIndicadosOfSede++;
} else {
countIndicadosGDSede++;
}
if (indicacao.isMatriculado()) {
countMatriculadosSede++;
if (pessoa.isOficial()) {
countMatriculadosOfSede++;
} else {
countMatriculadosGDSede++;
}
}
Map<Object, Object> itemIndicacao = new HashMap<Object, Object>();
itemIndicacao.put("nome", pessoa.getTargetaCompletaOM());
itemIndicacao.put("status", indicacao.isMatriculado());
itemIndicacao.put("turma", turma.getNumeroTurma());
indicadosSede.add(itemIndicacao);
}
Map<Object, Object> itemSede = new HashMap<Object, Object>();
itemSede.put("sigla", organizacao.getSigla() + " (SEDE)");
itemSede.put("indicados", countIndicadosSede);
itemSede.put("indicadosOf", countIndicadosOfSede);
itemSede.put("indicadosGD", countIndicadosGDSede);
itemSede.put("matriculados", countMatriculadosSede);
itemSede.put("matriculadosOf", countMatriculadosOfSede);
itemSede.put("matriculadosGD", countMatriculadosGDSede);
itemSede.put("indicacoes", indicadosSede);
itemSede.put("id", organizacao.getId());
result.add(itemSede);
OrganizacaoDTO[] organizacoesDiretamenteSubordinadas = organizationalService.findAllOrganizacoesDiretamenteSubordinadas(organizacao.getId());
for (OrganizacaoDTO organizacaoDiretamenteSubordinada : organizacoesDiretamenteSubordinadas) {
int countMatriculados = 0;
int countIndicados = 0;
int countMatriculadosOf = 0;
int countIndicadosOf = 0;
int countMatriculadosGD = 0;
int countIndicadosGD = 0;
List<Map<Object, Object>> indicadosSubordinada = new ArrayList<Map<Object, Object>>();
OrganizacaoDTO[] outrasOrganizacoesSubordinadas = organizationalService.findAllOrganizacoesSubordinadas(organizacaoDiretamenteSubordinada.getId());
Long[] organizacoesSubordinadasIds = new Long[outrasOrganizacoesSubordinadas.length + 1];
for (int i = 0; i < outrasOrganizacoesSubordinadas.length; i++) {
organizacoesSubordinadasIds[i] = outrasOrganizacoesSubordinadas[i].getId();
}
organizacoesSubordinadasIds[outrasOrganizacoesSubordinadas.length] = organizacaoDiretamenteSubordinada.getId();
IndicacaoAlunoDTO[] indicacoesFromSubordinadas = atividadesEnsinoService.findAllIndicacoesAlunosByOrganizacoesBeneficiadas(ano, organizacoesSubordinadasIds, null, turmasIds);
for (IndicacaoAlunoDTO indicacao : indicacoesFromSubordinadas) {
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
TurmaEfetivaDTO turma = indicacao.getTurma();
countIndicados++;
if (pessoa.isOficial()) {
countIndicadosOf++;
} else {
countIndicadosGD++;
}
if (indicacao.isMatriculado()) {
countMatriculados++;
if (pessoa.isOficial()) {
countMatriculadosOf++;
} else {
countMatriculadosGD++;
}
}
Map<Object, Object> itemIndicacao = new HashMap<Object, Object>();
itemIndicacao.put("nome", pessoa.getTargetaCompletaOM());
itemIndicacao.put("status", indicacao.isMatriculado());
itemIndicacao.put("turma", turma.getNumeroTurma());
indicadosSubordinada.add(itemIndicacao);
}
Map<Object, Object> itemSubordinada = new HashMap<Object, Object>();
itemSubordinada.put("sigla", organizacaoDiretamenteSubordinada.getSigla());
itemSubordinada.put("indicados", countIndicados);
itemSubordinada.put("indicadosOf", countIndicadosOf);
itemSubordinada.put("indicadosGD", countIndicadosGD);
itemSubordinada.put("matriculados", countMatriculados);
itemSubordinada.put("matriculadosOf", countMatriculadosOf);
itemSubordinada.put("matriculadosGD", countMatriculadosGD);
itemSubordinada.put("indicacoes", indicadosSubordinada);
itemSubordinada.put("id", organizacaoDiretamenteSubordinada.getId());
result.add(itemSubordinada);
}
return result;
}
use of com.tomasio.projects.trainning.dto.OrganizacaoDTO in project trainning by fernandotomasio.
the class ChartsController method retrieveIndicacoesFromODSA.
public List<Map<Object, Object>> retrieveIndicacoesFromODSA(Map<Object, Object> gestoraDataMap, ExternalContext context) {
List<Map<Object, Object>> result = new ArrayList<Map<Object, Object>>();
OrganizacaoDTO userOrganization = (OrganizacaoDTO) context.getSessionMap().get("userOrganization");
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(userOrganization.getId());
Long gestoraId = (Long) gestoraDataMap.get("id");
Long[] turmasIds = atividadesEnsinoService.findAllTurmasEfetivasIds(ano, gestoraId);
Long[] organizacoesIds = new Long[1];
organizacoesIds[0] = organizacao.getId();
int countMatriculadosSede = 0;
int countIndicadosSede = 0;
int countMatriculadosGDSede = 0;
int countIndicadosGDSede = 0;
int countMatriculadosOfSede = 0;
int countIndicadosOfSede = 0;
List<Map<Object, Object>> indicadosSede = new ArrayList<Map<Object, Object>>();
IndicacaoAlunoDTO[] indicacoes = atividadesEnsinoService.findAllIndicacoesAlunosByOrganizacoesBeneficiadas(ano, organizacoesIds, null, turmasIds);
for (IndicacaoAlunoDTO indicacao : indicacoes) {
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
TurmaEfetivaDTO turma = indicacao.getTurma();
countIndicadosSede++;
if (pessoa.isOficial()) {
countIndicadosOfSede++;
} else {
countIndicadosGDSede++;
}
if (indicacao.isMatriculado()) {
countMatriculadosSede++;
if (pessoa.isOficial()) {
countMatriculadosOfSede++;
} else {
countMatriculadosGDSede++;
}
}
Map<Object, Object> itemIndicacao = new HashMap<Object, Object>();
itemIndicacao.put("nome", pessoa.getTargetaCompletaOM());
itemIndicacao.put("status", indicacao.isMatriculado());
itemIndicacao.put("turma", turma.getNumeroTurma());
indicadosSede.add(itemIndicacao);
}
Map<Object, Object> itemSede = new HashMap<Object, Object>();
itemSede.put("sigla", organizacao.getSigla() + " (SEDE)");
itemSede.put("indicados", countIndicadosSede);
itemSede.put("indicadosOf", countIndicadosOfSede);
itemSede.put("indicadosGD", countIndicadosGDSede);
itemSede.put("matriculados", countMatriculadosSede);
itemSede.put("matriculadosOf", countMatriculadosOfSede);
itemSede.put("matriculadosGD", countMatriculadosGDSede);
itemSede.put("indicacoes", indicadosSede);
itemSede.put("id", organizacao.getId());
result.add(itemSede);
OrganizacaoDTO[] organizacoesDiretamenteSubordinadas = organizationalService.findAllOrganizacoesDiretamenteSubordinadas(organizacao.getId());
for (OrganizacaoDTO organizacaoDiretamenteSubordinada : organizacoesDiretamenteSubordinadas) {
int countMatriculados = 0;
int countIndicados = 0;
int countMatriculadosOf = 0;
int countIndicadosOf = 0;
int countMatriculadosGD = 0;
int countIndicadosGD = 0;
List<Map<Object, Object>> indicadosSubordinada = new ArrayList<Map<Object, Object>>();
OrganizacaoDTO[] outrasOrganizacoesSubordinadas = organizationalService.findAllOrganizacoesSubordinadas(organizacaoDiretamenteSubordinada.getId());
Long[] organizacoesSubordinadasIds = new Long[outrasOrganizacoesSubordinadas.length + 1];
for (int i = 0; i < outrasOrganizacoesSubordinadas.length; i++) {
organizacoesSubordinadasIds[i] = outrasOrganizacoesSubordinadas[i].getId();
}
organizacoesSubordinadasIds[outrasOrganizacoesSubordinadas.length] = organizacaoDiretamenteSubordinada.getId();
IndicacaoAlunoDTO[] indicacoesFromSubordinadas = atividadesEnsinoService.findAllIndicacoesAlunosByOrganizacoesBeneficiadas(ano, organizacoesSubordinadasIds, null, turmasIds);
for (IndicacaoAlunoDTO indicacao : indicacoesFromSubordinadas) {
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
TurmaEfetivaDTO turma = indicacao.getTurma();
countIndicados++;
if (pessoa.isOficial()) {
countIndicadosOf++;
} else {
countIndicadosGD++;
}
if (indicacao.isMatriculado()) {
countMatriculados++;
if (pessoa.isOficial()) {
countMatriculadosOf++;
} else {
countMatriculadosGD++;
}
}
Map<Object, Object> itemIndicacao = new HashMap<Object, Object>();
itemIndicacao.put("nome", pessoa.getTargetaCompletaOM());
itemIndicacao.put("status", indicacao.isMatriculado());
itemIndicacao.put("turma", turma.getNumeroTurma());
indicadosSubordinada.add(itemIndicacao);
}
Map<Object, Object> itemSubordinada = new HashMap<Object, Object>();
itemSubordinada.put("sigla", organizacaoDiretamenteSubordinada.getSigla());
itemSubordinada.put("indicados", countIndicados);
itemSubordinada.put("indicadosOf", countIndicadosOf);
itemSubordinada.put("indicadosGD", countIndicadosGD);
itemSubordinada.put("matriculados", countMatriculados);
itemSubordinada.put("matriculadosOf", countMatriculadosOf);
itemSubordinada.put("matriculadosGD", countMatriculadosGD);
itemSubordinada.put("indicacoes", indicadosSubordinada);
itemSubordinada.put("id", organizacaoDiretamenteSubordinada.getId());
result.add(itemSubordinada);
}
return result;
}
use of com.tomasio.projects.trainning.dto.OrganizacaoDTO in project trainning by fernandotomasio.
the class ChartsController method initializeCustoData.
public Map initializeCustoData(SelectCustoForm form) {
Map result = new HashMap();
SimpleDateFormat df = new SimpleDateFormat("yyyy");
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(form.getOrganizacaoGestoraId());
if (form.getCursoId() != null && form.getCursoId() > 0) {
CursoDTO curso = trainningService.findCurso(form.getCursoId());
result.put("curso", curso.getCodigo());
} else {
form.setCursoId(null);
}
result.put("organizacaoGestora", organizacao.getSigla());
result.put("ano", df.format(form.getAno()));
TurmaEfetivaDTO[] turmas = atividadesEnsinoService.findAllTurmasEfetivas(form.getAno(), null, form.getCursoId(), null, form.getOrganizacaoGestoraId(), null);
Map<String, BigDecimal> custosRealizadoAlunosMap = atividadesEnsinoService.calculateCustoRealizadoAlunos(turmas);
Map<String, BigDecimal> custosPrevistoAlunosMap = atividadesEnsinoService.calculateCustoPrevistoAlunos(turmas);
Map<String, BigDecimal> custosRealizadoInstrutoresMap = atividadesEnsinoService.calculateCustoRealizadoInstrutores(turmas);
Map<String, BigDecimal> custosPrevistoInstrutoresMap = atividadesEnsinoService.calculateCustoPrevistoInstrutores(turmas);
BigDecimal diariasAlunosRealizado = custosRealizadoAlunosMap.get("diarias");
BigDecimal transporteAlunosRealizado = custosRealizadoAlunosMap.get("transporte");
BigDecimal diariasAlunosPrevisto = custosPrevistoAlunosMap.get("diarias");
BigDecimal transporteAlunosPrevisto = custosPrevistoAlunosMap.get("transporte");
BigDecimal diariasInstrutoresRealizado = custosRealizadoInstrutoresMap.get("diarias");
BigDecimal diariasInstrutoresPrevisto = custosPrevistoInstrutoresMap.get("diarias");
BigDecimal transporteInstrutoresRealizado = custosRealizadoInstrutoresMap.get("transporte");
BigDecimal transporteInstrutoresPrevisto = custosPrevistoInstrutoresMap.get("transporte");
BigDecimal totalInstrutoresRealizado = custosRealizadoInstrutoresMap.get("total");
BigDecimal totalInstrutoresPrevisto = custosPrevistoInstrutoresMap.get("total");
BigDecimal totalAlunosPrevisto = custosPrevistoAlunosMap.get("total");
BigDecimal totalAlunosRealizado = custosRealizadoAlunosMap.get("total");
BigDecimal totalRealizado = totalAlunosRealizado.add(totalInstrutoresRealizado);
BigDecimal totalPrevisto = totalInstrutoresPrevisto.add(totalAlunosPrevisto);
result.put("diariasAlunosRealizado", diariasAlunosRealizado.toPlainString());
result.put("transporteAlunosRealizado", transporteAlunosRealizado.toPlainString());
result.put("diariasInstrutoresRealizado", diariasInstrutoresRealizado.toPlainString());
result.put("diariasInstrutoresPrevisto", diariasInstrutoresPrevisto.toPlainString());
result.put("transporteInstrutoresPrevisto", transporteInstrutoresPrevisto.toPlainString());
result.put("transporteInstrutoresRealizado", transporteInstrutoresRealizado.toPlainString());
result.put("diariasAlunosPrevisto", diariasAlunosPrevisto.toPlainString());
result.put("transporteAlunosPrevisto", transporteAlunosPrevisto.toPlainString());
result.put("totalAlunosPrevisto", totalAlunosPrevisto.toPlainString());
result.put("totalAlunosRealizado", totalAlunosRealizado.toPlainString());
result.put("totalInstrutoresRealizado", totalInstrutoresRealizado.toPlainString());
result.put("totalInstrutoresPrevisto", totalInstrutoresPrevisto.toPlainString());
result.put("totalPrevisto", totalPrevisto.toPlainString());
result.put("totalRealizado", totalRealizado.toPlainString());
return result;
}
Aggregations