package gcom.gui.atendimentopublico.ligacaoagua; import gcom.atendimentopublico.ordemservico.OrdemServico; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.ClienteImovel; import gcom.cadastro.cliente.ClienteRelacaoTipo; import gcom.cadastro.cliente.FiltroClienteImovel; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.Imovel; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroNulo; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; /** * Action respons�vel pela pre-exibi��o da pagina de atualizar consumo m�nimo de * liga��o de �gua. * * @author Leonardo Regis * @date 30/08/2006 */ public class ExibirAtualizarConsumoMinimoLigacaoAguaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Set no mapeamento de retorno ActionForward retorno = actionMapping .findForward("atualizarConsumoMinimoLigacaoAgua"); HttpSession sessao = httpServletRequest.getSession(false); AtualizarConsumoMinimoLigacaoAguaActionForm atualizarConsumoMinimoLigacaoAguaActionForm = (AtualizarConsumoMinimoLigacaoAguaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); Boolean veioEncerrarOS = null; if (httpServletRequest.getAttribute("veioEncerrarOS") != null) { veioEncerrarOS = Boolean.TRUE; } else { if (atualizarConsumoMinimoLigacaoAguaActionForm.getVeioEncerrarOS() != null && !atualizarConsumoMinimoLigacaoAguaActionForm .getVeioEncerrarOS().equals("")) { if (atualizarConsumoMinimoLigacaoAguaActionForm.getVeioEncerrarOS() .toLowerCase().equals("true")) { veioEncerrarOS = veioEncerrarOS = Boolean.TRUE; } else { veioEncerrarOS = veioEncerrarOS = Boolean.FALSE; } } else { veioEncerrarOS = Boolean.FALSE; } } atualizarConsumoMinimoLigacaoAguaActionForm.setVeioEncerrarOS("" + veioEncerrarOS); // Variavel responsav�l pelo preenchimento do imovel no formul�rio String idOrdemServico = null; if (atualizarConsumoMinimoLigacaoAguaActionForm.getIdOrdemServico() != null) { idOrdemServico = atualizarConsumoMinimoLigacaoAguaActionForm .getIdOrdemServico(); } else { idOrdemServico = (String) httpServletRequest .getAttribute("veioEncerrarOS"); sessao.setAttribute("caminhoRetornoIntegracaoComercial", httpServletRequest .getAttribute("caminhoRetornoIntegracaoComercial")); } if (httpServletRequest.getAttribute("semMenu") != null) { sessao.setAttribute("semMenu", "SIM"); } else { sessao.removeAttribute("semMenu"); } if (idOrdemServico != null && !idOrdemServico.equals("")) { OrdemServico ordemServico = fachada.recuperaOSPorId(new Integer( idOrdemServico)); if (ordemServico != null && !ordemServico.equals("")) { fachada.validarExibirAtualizarConsumoMinimoLigacaoAgua( ordemServico, veioEncerrarOS); atualizarConsumoMinimoLigacaoAguaActionForm.setIdOrdemServico(idOrdemServico); // Preenchar dados da ordem de servico atualizarConsumoMinimoLigacaoAguaActionForm .setNomeOrdemServico(ordemServico.getServicoTipo() .getDescricao()); // Preencher dados do imovel this.preencherDadosImovel( atualizarConsumoMinimoLigacaoAguaActionForm, ordemServico); // Preencher dados do Cliente this.pesquisarCliente( atualizarConsumoMinimoLigacaoAguaActionForm, ordemServico); sessao.setAttribute("osEncontrada", "true"); } else { sessao.removeAttribute("osEncontrada"); atualizarConsumoMinimoLigacaoAguaActionForm .setNomeOrdemServico("Ordem de Servi�o inexistente"); } } else { httpServletRequest.setAttribute("nomeCampo", "idOrdemServico"); atualizarConsumoMinimoLigacaoAguaActionForm .setDataConcorrencia(new Date()); } return retorno; } /* * [FS0013 - Altera��o de Valor] * * autor: Raphael Rossiter * data: 19/04/2007 */ /* private void permitirAlteracaoValor(ServicoTipo servicoTipo, EfetuarLigacaoAguaComInstalacaoHidrometroActionForm form){ if (servicoTipo.getIndicadorPermiteAlterarValor() == ConstantesSistema.INDICADOR_USO_ATIVO.shortValue()){ form.setAlteracaoValor("OK"); } else{ form.setAlteracaoValor(""); } }*/ /** * Preencher dados do im�vel * * @author Leonardo Regis * @date 30/08/2006 */ private void preencherDadosImovel( AtualizarConsumoMinimoLigacaoAguaActionForm atualizarVolumeMinimoLigacaoEsgotoActionForm, OrdemServico ordemServico) { Fachada fachada = Fachada.getInstancia(); Imovel imovel = ordemServico.getRegistroAtendimento().getImovel(); // Matricula Im�vel atualizarVolumeMinimoLigacaoEsgotoActionForm.setMatriculaImovel(imovel .getId().toString()); // Inscri��o Im�vel String inscricaoImovel = fachada.pesquisarInscricaoImovel(imovel .getId()); atualizarVolumeMinimoLigacaoEsgotoActionForm .setInscricaoImovel(inscricaoImovel); // Situa��o da Liga��o de Agua String situacaoLigacaoAgua = imovel.getLigacaoAguaSituacao() .getDescricao(); atualizarVolumeMinimoLigacaoEsgotoActionForm .setSituacaoLigacaoAgua(situacaoLigacaoAgua); // Situa��o da Liga��o de Esgoto String situacaoLigacaoEsgoto = imovel.getLigacaoEsgotoSituacao() .getDescricao(); atualizarVolumeMinimoLigacaoEsgotoActionForm .setSituacaoLigacaoEsgoto(situacaoLigacaoEsgoto); // Categoria do Imovel Categoria categoria = fachada.obterDescricoesCategoriaImovel(imovel); atualizarVolumeMinimoLigacaoEsgotoActionForm .setCategoriaImovel(categoria.getDescricao()); // Quatidade de Economias int qtdeconomias = fachada.obterQuantidadeEconomias(imovel); atualizarVolumeMinimoLigacaoEsgotoActionForm .setQtdeEconomia(qtdeconomias + ""); // Consumo M�nimo if (imovel.getLigacaoAgua().getNumeroConsumoMinimoAgua() != null && !imovel.getLigacaoAgua().getNumeroConsumoMinimoAgua() .equals("")) { atualizarVolumeMinimoLigacaoEsgotoActionForm .setConsumoMinimoFixado(imovel.getLigacaoAgua() .getNumeroConsumoMinimoAgua() + ""); } else { atualizarVolumeMinimoLigacaoEsgotoActionForm .setConsumoMinimoFixado(""); } // Valor Obtido String valorObtido = fachada.obterConsumoMinimoLigacao(imovel, null) + ""; atualizarVolumeMinimoLigacaoEsgotoActionForm .setValorObtido(valorObtido); // Consumo Tarifa atualizarVolumeMinimoLigacaoEsgotoActionForm.setConsumoTarifaId(imovel .getConsumoTarifa().getId() + ""); } /** * Pesquisa Cliente * * @author Leonardo Regis * @date 30/08/2006 */ private void pesquisarCliente( AtualizarConsumoMinimoLigacaoAguaActionForm form, OrdemServico ordemServico) { // Filtro para carregar o Cliente FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.IMOVEL_ID, ordemServico .getRegistroAtendimento().getImovel().getId())); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.CLIENTE_RELACAO_TIPO, ClienteRelacaoTipo.USUARIO)); filtroClienteImovel.adicionarParametro(new ParametroNulo( FiltroClienteImovel.DATA_FIM_RELACAO)); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("cliente"); Collection colecaoClienteImovel = Fachada.getInstancia().pesquisar( filtroClienteImovel, ClienteImovel.class.getName()); if (colecaoClienteImovel != null && !colecaoClienteImovel.isEmpty()) { ClienteImovel clienteImovel = (ClienteImovel) colecaoClienteImovel .iterator().next(); Cliente cliente = clienteImovel.getCliente(); String documento = ""; if (cliente.getCpf() != null && !cliente.getCpf().equals("")) { documento = cliente.getCpfFormatado(); } else { documento = cliente.getCnpjFormatado(); } // Cliente Nome/CPF-CNPJ form.setClienteUsuario(cliente.getNome()); form.setCpfCnpjCliente(documento); } else { throw new ActionServletException("atencao.naocadastrado", null, "Cliente"); } } }