package gcom.gui.atendimentopublico.ordemservico; import gcom.atendimentopublico.ordemservico.FiltroServicoTipo; import gcom.atendimentopublico.ordemservico.ServicoTipo; import gcom.cadastro.empresa.Empresa; import gcom.cadastro.empresa.FiltroEmpresa; import gcom.cadastro.unidade.FiltroUnidadeOrganizacional; import gcom.cadastro.unidade.UnidadeOrganizacional; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC0776] Filtrar Relat�rio de Gest�o de Servi�os UPA * * @see gcom.gui.relatorio.atendimentopublico.GerarRelatorioGestaoServicosUPAAction * @see gcom.gui.atendimentopublico.ordemservico.GerarRelatorioGestaoServicosUPAActionForm * @see gcom.relatorio.atendimentopublico.RelatorioGestaoServicosUPA * * @author Victor Cisneiros * @date 19/05/2008 */ public class ExibirGerarRelatorioGestaoServicosUPAAction extends GcomAction { @SuppressWarnings("unchecked") public ActionForward execute( ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionForward retorno = mapping.findForward("exibirGerarRelatorioGestaoServicosUPAAction"); GerarRelatorioGestaoServicosUPAActionForm form = (GerarRelatorioGestaoServicosUPAActionForm) actionForm; // Flag indicando que o usu�rio fez uma consulta a partir da tecla Enter String objetoConsulta = request.getParameter("objetoConsulta"); // Pesquisar Tipos de Servi�os FiltroServicoTipo filtroTipo = new FiltroServicoTipo(); filtroTipo.adicionarParametro(new ParametroSimples( FiltroServicoTipo.INDICADORTERCEIRIZADO, 1)); filtroTipo.setConsultaSemLimites(true); filtroTipo.setCampoOrderBy(FiltroServicoTipo.DESCRICAO); String className = ServicoTipo.class.getName(); Collection tiposServico = Fachada.getInstancia().pesquisar(filtroTipo, className); if (tiposServico == null || tiposServico.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null, "Tipo de Servi�o"); } else { request.setAttribute("colecaoTipoServico", tiposServico); } if (objetoConsulta != null && !objetoConsulta.trim().equals("")) { // [UC0376] - Pesquisar Unidade if (objetoConsulta.trim().equals("1") || objetoConsulta.trim().equals("2")) { this.pesquisarUnidadeOrganizacional(form, objetoConsulta); } // [UC0777] - Pesquisar Empresa else if (objetoConsulta.trim().equals("3")) { this.pesquisarEmpresa(form, objetoConsulta); } } setaRequest(request, form); return retorno; } public void setaRequest(HttpServletRequest request, GerarRelatorioGestaoServicosUPAActionForm aform) { // Unidade Organizacional if ( aform.getIdUnidadeOrganizacional() != null && !aform.getIdUnidadeOrganizacional().equals("") && aform.getDescricaoUnidadeOrganizacional() != null && !aform.getDescricaoUnidadeOrganizacional().equals("")) { request.setAttribute("unidadeOrganizacionalEncontrada", "true"); } // Unidade Superior if ( aform.getIdUnidadeSuperior() != null && !aform.getIdUnidadeSuperior().equals("") && aform.getDescricaoUnidadeSuperior() != null && !aform.getDescricaoUnidadeSuperior().equals("")) { request.setAttribute("unidadeSuperiorEncontrada", "true"); } // Empresa if ( aform.getIdEmpresa() != null && !aform.getIdEmpresa().equals("") && aform.getDescricaoEmpresa() != null && !aform.getDescricaoEmpresa().equals("")) { request.setAttribute("empresaEncontrada", "true"); } } public void pesquisarEmpresa(GerarRelatorioGestaoServicosUPAActionForm aform, String objectConsulta) { if (aform.getIdEmpresa() == null || aform.getIdEmpresa().trim().equals("")) { return; } FiltroEmpresa filtro = new FiltroEmpresa(); filtro.adicionarParametro(new ParametroSimples( FiltroEmpresa.ID, new Integer(aform.getIdEmpresa()))); String className = Empresa.class.getName(); Collection empresas = Fachada.getInstancia().pesquisar(filtro, className); if (empresas != null && !empresas.isEmpty()) { Empresa empresa = (Empresa) Util.retonarObjetoDeColecao(empresas); aform.setIdEmpresa(empresa.getId().toString()); aform.setDescricaoEmpresa(empresa.getDescricao()); } else { aform.setIdEmpresa(""); aform.setDescricaoEmpresa("Empresa Inexistente"); } } public void pesquisarUnidadeOrganizacional(GerarRelatorioGestaoServicosUPAActionForm aform, String objetoConsulta) { FiltroUnidadeOrganizacional filtro = new FiltroUnidadeOrganizacional(); Integer idUnidade = null; if (objetoConsulta.equals("1")) { idUnidade = new Integer(aform.getIdUnidadeOrganizacional().trim()); } else if (objetoConsulta.equals("2")) { idUnidade = new Integer(aform.getIdUnidadeSuperior().trim()); } filtro.adicionarParametro(new ParametroSimples( FiltroUnidadeOrganizacional.ID, idUnidade)); String className = UnidadeOrganizacional.class.getName(); Collection unidades = Fachada.getInstancia().pesquisar(filtro, className); if (unidades != null && !unidades.isEmpty()) { UnidadeOrganizacional unidade = (UnidadeOrganizacional) Util.retonarObjetoDeColecao(unidades); if (objetoConsulta.trim().equals("1")) { aform.setIdUnidadeOrganizacional(unidade.getId().toString()); aform.setDescricaoUnidadeOrganizacional(unidade.getDescricao()); } else { // 2 aform.setIdUnidadeSuperior(unidade.getId().toString()); aform.setDescricaoUnidadeSuperior(unidade.getDescricao()); } } else { if (objetoConsulta.trim().equals("1")) { aform.setIdUnidadeOrganizacional(""); aform.setDescricaoUnidadeOrganizacional("Unidade Organizacional Inexistente"); } else { // 2 aform.setIdUnidadeSuperior(""); aform.setDescricaoUnidadeSuperior("Unidade Superior Inexistente"); } } } }