package gcom.gui.micromedicao; import gcom.cadastro.empresa.Empresa; import gcom.cadastro.empresa.FiltroEmpresa; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.micromedicao.FiltroLeiturista; import gcom.micromedicao.FiltroRota; import gcom.micromedicao.Leiturista; import gcom.micromedicao.Rota; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class ExibirInformarRotaLeituristaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { HttpSession sessao = httpServletRequest.getSession(false); InformarRotaLeituristaActionForm form = (InformarRotaLeituristaActionForm) actionForm; ActionForward retorno = actionMapping.findForward("InformarRotaLeituristaAction"); FiltroEmpresa filtroEmpresa = new FiltroEmpresa(FiltroEmpresa.DESCRICAO); Fachada f = Fachada.getInstancia(); Collection colecaoEmpresa = f.pesquisar(filtroEmpresa,Empresa.class.getName()); String mudou = (String)httpServletRequest.getParameter("mudou"); Usuario usuarioLogado = (Usuario)sessao.getAttribute("usuarioLogado"); if (httpServletRequest.getParameter("menu") != null) { form.setEmpresaID(""+usuarioLogado.getEmpresa().getId()); } if(mudou!=null){ if(mudou.equals("empresa")){ form.setRotas( null); form.setLeitursitaID(null); }else if(mudou.equals("leiturista")){ form.setRotas(null); } } sessao.removeAttribute("permissao"); if(usuarioLogado.getEmpresa().getIndicadorEmpresaPrincipal().equals(new Short("1"))){ sessao.setAttribute("permissao", "1"); }else{ sessao.setAttribute("permissao", "2"); } if(colecaoEmpresa !=null){ sessao.setAttribute("colecaoEmpresa", colecaoEmpresa); } Collection colecaoLeiturista = new ArrayList(); if(form.getEmpresaID()!=null && !form.getEmpresaID().equals("")){ FiltroLeiturista filtroLeiturista = new FiltroLeiturista(FiltroLeiturista.ID); filtroLeiturista.adicionarParametro(new ParametroSimples(FiltroLeiturista.EMPRESA_ID, form.getEmpresaID())); filtroLeiturista.adicionarParametro(new ParametroSimples(FiltroLeiturista.INDICADOR_USO, ConstantesSistema.SIM)); filtroLeiturista.adicionarCaminhoParaCarregamentoEntidade(FiltroLeiturista.CLIENTE); filtroLeiturista.adicionarCaminhoParaCarregamentoEntidade(FiltroLeiturista.FUNCIONARIO); filtroLeiturista.setCampoOrderBy( FiltroLeiturista.FUNCIONARIO_NOME, FiltroLeiturista.CLIENTE_NOME ); Collection colecao = f.pesquisar(filtroLeiturista, Leiturista.class.getName()); if(colecao!=null && !colecao.isEmpty()){ Iterator it = colecao.iterator(); while(it.hasNext()){ Leiturista leitu =(Leiturista) it.next(); DadosLeiturista dadosLeiu = null; if(leitu.getFuncionario()!=null){ dadosLeiu = new DadosLeiturista(leitu.getId(),leitu.getFuncionario().getNome()); }else{ dadosLeiu = new DadosLeiturista(leitu.getId(),leitu.getCliente().getNome()); } colecaoLeiturista.add(dadosLeiu); } } } Collection rotas = null; if(form.getLeitursitaID()!=null && !form.getLeitursitaID().equals("") && !form.getLeitursitaID().equals("-1")){ // Ordenar pelo novo campo q eu vou colocar FiltroRota filtroRota = new FiltroRota(FiltroRota.LEITURA_SEQUENCIA); filtroRota.adicionarParametro(new ParametroSimples(FiltroRota.LEITURISTA_ID,form.getLeitursitaID())); filtroRota.adicionarCaminhoParaCarregamentoEntidade(FiltroRota.SETOR_COMERCIAL); filtroRota.adicionarCaminhoParaCarregamentoEntidade(FiltroRota.LOCALIDADE); filtroRota.adicionarCaminhoParaCarregamentoEntidade(FiltroRota.FATURAMENTO_GRUPO); filtroRota.adicionarCaminhoParaCarregamentoEntidade(FiltroRota.EMPRESA); Collection colecao = f.pesquisar(filtroRota, Rota.class.getName()); if(colecao != null && !colecao.isEmpty()){ Iterator it = colecao.iterator(); rotas = new ArrayList(); while(it.hasNext()){ Rota rota = (Rota) it.next(); String descricao = rota.getEmpresa().getDescricao() + " " + rota.getFaturamentoGrupo().getDescricaoAbreviada() + " " + rota.getSetorComercial().getLocalidade().getId() +"." + rota.getSetorComercial().getCodigo() + "." + rota.getCodigo(); DadosRota dadosRota = new DadosRota(rota.getId(),descricao); rotas.add(dadosRota); } } } sessao.setAttribute("colecaoRotas", rotas); sessao.setAttribute("colecaoLeiturista", colecaoLeiturista); return retorno; } }