package gcom.gui.atendimentopublico.ordemservico; import gcom.atendimentopublico.ordemservico.OrdemServico; import gcom.atendimentopublico.ordemservico.OrdemServicoPavimento; import gcom.atendimentopublico.ordemservico.bean.OSPavimentoRetornoHelper; import gcom.cadastro.imovel.FiltroPavimentoRua; import gcom.cadastro.imovel.PavimentoRua; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; /** * [UC0503]Tramitar Conjunto de Registro de Atendimento * * @author Ana Maria * @date 10/01/2007 */ public class ExibirAtualizarOrdemProcessoRepavimentacaoPopupAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta a a��o de retorno ActionForward retorno = actionMapping.findForward("exibirAtualizarOrdemProcessoRepavimentacaoPopUp"); Fachada fachada = Fachada.getInstancia(); // Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); AtualizarOrdemProcessoRepavimentacaoPopUpActionForm form = (AtualizarOrdemProcessoRepavimentacaoPopUpActionForm) actionForm; FiltroPavimentoRua filtroPavimentoRua = new FiltroPavimentoRua(); filtroPavimentoRua.adicionarParametro(new ParametroSimples(FiltroPavimentoRua.INDICADOR_USO,ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoPavimentoRua = fachada.pesquisar(filtroPavimentoRua, PavimentoRua.class.getName()); httpServletRequest.setAttribute("colecaoPavimentoRua", colecaoPavimentoRua); Collection collOrdemServicoPavimento = (Collection) sessao.getAttribute("collOrdemServicoPavimento"); //Perguntar se posso encontrar apenas pelo numero da Os ? String numeroOS = null; Integer idOrdemServico = null; if (httpServletRequest.getParameter("numeroOS") != null) { numeroOS = httpServletRequest.getParameter("numeroOS"); idOrdemServico= Util.converterStringParaInteger(numeroOS); sessao.setAttribute("numeroOS",idOrdemServico); }else{ idOrdemServico = (Integer) sessao.getAttribute("numeroOS"); } SistemaParametro sistemaParametro = null; sistemaParametro = fachada.pesquisarParametrosDoSistema(); if(form.getNomeEmpresa() == null || form.getNomeEmpresa().equals("")){ form.setNomeEmpresa(sistemaParametro.getNomeAbreviadoEmpresa()); } OrdemServico os = fachada.pesquisarOrdemServico(idOrdemServico); OrdemServicoPavimento ordemServicoPavimento = null; boolean desabilitaBotaoAlterar = true; boolean habilitaCampos = false; if (sessao.getAttribute("collOrdemServicoPavimento") != null && !sessao.getAttribute("collOrdemServicoPavimento").equals("")) { OSPavimentoRetornoHelper oSPavimentoRetornoHelper = null; Iterator iterator = collOrdemServicoPavimento.iterator(); while (iterator.hasNext()) { oSPavimentoRetornoHelper = (OSPavimentoRetornoHelper) iterator.next(); if(oSPavimentoRetornoHelper.getOrdemServico().getId().equals(os.getId())){ //1.3.4.1. Dados da Tela ordemServicoPavimento = oSPavimentoRetornoHelper.getOrdemServicoPavimento(); sessao.setAttribute("ordemServicoPavimento", ordemServicoPavimento); //1.3.4.1.1 if ( ordemServicoPavimento.getPavimentoRuaRetorno() != null ) { //exibir com os dados de retorno ja cadastrados, desabilitar o botao "alterar". form.setDataExecucao(Util.formatarData(ordemServicoPavimento.getDataExecucao())); form.setIdPavimentoRuaRet(ordemServicoPavimento.getPavimentoRuaRetorno().getId().toString()); form.setAreaPavimentoRuaRet(Util.formatarMoedaReal(ordemServicoPavimento.getAreaPavimentoRuaRetorno())); form.setObservacao(ordemServicoPavimento.getObservacao()); desabilitaBotaoAlterar = false; habilitaCampos = true; sessao.setAttribute("habilitaAtualizar", "true"); } else { form.setDataExecucao(Util.formatarData(new Date())); form.setIdPavimentoRuaRet(ordemServicoPavimento.getPavimentoRua().getId().toString()); form.setAreaPavimentoRuaRet(Util.formatarMoedaReal(ordemServicoPavimento.getAreaPavimentoRua())); form.setObservacao(ordemServicoPavimento.getObservacao()); } /* if (httpServletRequest.getParameter("acao") != null && httpServletRequest.getParameter("acao").equals("bloquear")){ sessao.removeAttribute("desabilitaBotaoAlterar"); } */ if(sessao.getAttribute("desabilitaBotaoAlterar") != null && sessao.getAttribute("desabilitaBotaoAlterar").equals("true")){ sessao.removeAttribute("desabilitaBotaoAlterar"); } if ( httpServletRequest.getParameter("acao") == null && desabilitaBotaoAlterar && (sessao.getAttribute("desabilitaBotaoAlterar") == null || sessao.getAttribute("desabilitaBotaoAlterar").equals("false"))) { sessao.setAttribute("desabilitaBotaoAlterar", "false"); } else if (httpServletRequest.getParameter("acao") != null && httpServletRequest.getParameter("acao").equals("bloquear")){ sessao.setAttribute("desabilitaBotaoAlterar", "true"); } if(httpServletRequest.getParameter("habilitaConfirmar") != null && httpServletRequest.getParameter("habilitaConfirmar").equals("true") ){ sessao.setAttribute("habilitaAtualizar", "true"); }else{ if (!habilitaCampos) { sessao.removeAttribute("habilitaAtualizar"); } httpServletRequest.setAttribute("ordemServicoPavimento", ordemServicoPavimento); sessao.setAttribute("ordemServicoPavimento", ordemServicoPavimento); } } } } if (httpServletRequest.getParameter("page.offset") != null && !httpServletRequest.getParameter("page.offset").equals("")) { String numeroPagina = httpServletRequest.getParameter("page.offset"); form.setManterPaginaAux(numeroPagina); } return retorno; } }