/** * Pesquisa Cliente * * @author Leonardo Regis * @date 23/09/2006 * @param form * @param os */ private void pesquisarCliente(EfetuarCorteLigacaoAguaActionForm form, OrdemServico ordemServico) { // Filtro para carregar o Cliente FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); // Comentado por Raphael Rossiter em 28/02/2007 // filtroClienteImovel.adicionarParametro(new ParametroSimples(FiltroClienteImovel.IMOVEL_ID, // ordemServico.getRegistroAtendimento().getImovel().getId())); filtroClienteImovel.adicionarParametro( new ParametroSimples(FiltroClienteImovel.IMOVEL_ID, ordemServico.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 = this.getFachada().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"); } }
/** * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("exibirManterGuiaDevolucaoCliente"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); ManterGuiaDevolucaoActionForm manterGuiaDevolucaoActionForm = (ManterGuiaDevolucaoActionForm) actionForm; // Limpa o atributo se o usuário voltou para o manter if (sessao.getAttribute("guiaDevolucaoAtualizar") != null) { sessao.removeAttribute("guiaDevolucaoAtualizar"); } FiltroGuiaDevolucao filtroGuiaDevolucao = null; if (sessao.getAttribute("filtroGuiaDevolucaoCliente") != null) { filtroGuiaDevolucao = (FiltroGuiaDevolucao) sessao.getAttribute("filtroGuiaDevolucaoCliente"); sessao.setAttribute("filtroGuiaDevolucaoCliente", filtroGuiaDevolucao); Cliente cliente = (Cliente) sessao.getAttribute("cliente"); sessao.setAttribute("cliente", cliente); manterGuiaDevolucaoActionForm.setIdCliente(cliente.getId().toString()); manterGuiaDevolucaoActionForm.setNomeCliente(cliente.getNome()); // Verifica o tipo do cliente para setar o cpf ou cnpj e profissão // ou ramo atividade if (cliente.getClienteTipo().getId().equals(ClienteTipo.INDICADOR_PESSOA_FISICA)) { manterGuiaDevolucaoActionForm.setCpfCnpj(cliente.getCpfFormatado()); if (cliente.getProfissao() != null) { manterGuiaDevolucaoActionForm.setProfissao(cliente.getProfissao().getDescricao()); } } else { manterGuiaDevolucaoActionForm.setCpfCnpj(cliente.getCnpjFormatado()); if (cliente.getRamoAtividade() != null) { manterGuiaDevolucaoActionForm.setRamoAtividade(cliente.getRamoAtividade().getDescricao()); } } } else { filtroGuiaDevolucao = (FiltroGuiaDevolucao) sessao.getAttribute("filtroGuiaDevolucaoImovel"); sessao.setAttribute("filtroGuiaDevolucaoImovel", filtroGuiaDevolucao); Imovel imovel = (Imovel) sessao.getAttribute("imovel"); sessao.setAttribute("imovel", imovel); manterGuiaDevolucaoActionForm.setIdImovel(imovel.getId().toString()); manterGuiaDevolucaoActionForm.setInscricao(imovel.getInscricaoFormatada()); FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); filtroClienteImovel.adicionarParametro( new ParametroSimples(FiltroClienteImovel.IMOVEL_ID, imovel.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.pesquisar(filtroClienteImovel, ClienteImovel.class.getName()); if (colecaoClienteImovel != null && !colecaoClienteImovel.isEmpty()) { ClienteImovel clienteImovel = (ClienteImovel) colecaoClienteImovel.iterator().next(); manterGuiaDevolucaoActionForm.setNomeCliente(clienteImovel.getCliente().getNome()); } if (imovel.getLigacaoAguaSituacao() != null) { manterGuiaDevolucaoActionForm.setSituacaoLigacaoAgua( imovel.getLigacaoAguaSituacao().getDescricao()); } if (imovel.getLigacaoEsgotoSituacao() != null) { manterGuiaDevolucaoActionForm.setSituacaoLigacaoEsgoto( imovel.getLigacaoEsgotoSituacao().getDescricao()); } retorno = actionMapping.findForward("exibirManterGuiaDevolucaoImovel"); } // 1º Passo - Pegar o total de registros através de um count da consulta // que aparecerá na tela Integer totalRegistros = fachada.pesquisarGuiaDevolucaoCount(filtroGuiaDevolucao); // 2º Passo - Chamar a função de Paginação passando o total de registros retorno = this.controlarPaginacao(httpServletRequest, retorno, totalRegistros); // 3º Passo - Obter a coleção da consulta que aparecerá na tela passando // o numero de paginas // da pesquisa que está no request // Faz os carregamentos necessários filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade( "registroAtendimento.imovel.localidade"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade( "registroAtendimento.imovel.setorComercial"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade( "registroAtendimento.imovel.quadra"); // filtroGuiaDevolucao // .adicionarCaminhoParaCarregamentoEntidade("registroAtendimento.cliente"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade( "ordemServico.servicoTipo.debitoTipo"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("localidade"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("imovel.localidade"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("imovel.setorComercial"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("imovel.quadra"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("conta"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("guiaPagamento.debitoTipo"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade( "debitoACobrarGeral.debitoACobrar.debitoTipo"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("creditoTipo"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("documentoTipo"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("debitoCreditoSituacaoAtual"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("debitoCreditoSituacaoAnterior"); filtroGuiaDevolucao.adicionarCaminhoParaCarregamentoEntidade("lancamentoItemContabil"); filtroGuiaDevolucao.setCampoOrderBy( FiltroGuiaDevolucao.CREDITO_TIPO_ID, FiltroGuiaDevolucao.DOCUMENTO_TIPO_ID); Collection colecaoGuiaDevolucao = fachada.pesquisarGuiaDevolucao( filtroGuiaDevolucao, ((Integer) httpServletRequest.getAttribute("numeroPaginasPesquisa"))); filtroGuiaDevolucao.limparCamposOrderBy(); if (colecaoGuiaDevolucao != null && !colecaoGuiaDevolucao.isEmpty()) { // if (colecaoGuiaDevolucao.size() == 1 // && (httpServletRequest.getParameter("page.offset") == null || httpServletRequest // .getParameter("page.offset").equals("1"))) { // if (httpServletRequest.getParameter("atualizar") != null) { // retorno = actionMapping // .findForward("exibirAtualizarGuiaDevolucao"); // GuiaDevolucao guiaDevolucao = (GuiaDevolucao) colecaoGuiaDevolucao // .iterator().next(); // sessao.setAttribute("guiaDevolucao", guiaDevolucao); // } else { // httpServletRequest.setAttribute("colecaoGuiaDevolucao", // colecaoGuiaDevolucao); // } // } else { httpServletRequest.setAttribute("colecaoGuiaDevolucao", colecaoGuiaDevolucao); // } } else { // Nenhuma resolução de diretoria cadastrada throw new ActionServletException("atencao.pesquisa.nenhumresultado"); } return retorno; }
/** * Este método seta as informações a serem exibidas para o usuário no form e na sessão, para que a * JSP responsável processe os dados. * * @since 22/10/2009 * @author Marlon Patrick */ private void setarDadosFormESessao( InformarVencimentoAlternativoActionForm informarVencimentoAlternativoActionForm, Collection<ClienteImovel> colecaoClienteImovel, HttpSession sessao) { Fachada fachada = Fachada.getInstancia(); ClienteImovel clienteImovel = colecaoClienteImovel.iterator().next(); fachada.verificarExistenciaRegistroAtendimento( clienteImovel.getImovel().getId(), "atencao.vencimento_alternativo_existencia_registro_atendimento", EspecificacaoTipoValidacao.VENCIMENTO_ALTERNATIVO); informarVencimentoAlternativoActionForm.setInscricaoImovel( clienteImovel.getImovel().getInscricaoFormatada()); informarVencimentoAlternativoActionForm.setNomeClienteUsuario( clienteImovel.getCliente().getNome()); informarVencimentoAlternativoActionForm.setSituacaoAguaImovel( clienteImovel.getImovel().getLigacaoAguaSituacao().getDescricao()); informarVencimentoAlternativoActionForm.setSituacaoEsgotoImovel( clienteImovel.getImovel().getLigacaoEsgotoSituacao().getDescricao()); informarVencimentoAlternativoActionForm.setDiaVencimentoGrupo(""); if (clienteImovel.getImovel().getQuadra().getRota().getFaturamentoGrupo().getDiaVencimento() != null && !clienteImovel .getImovel() .getQuadra() .getRota() .getFaturamentoGrupo() .getDiaVencimento() .equals(0)) { informarVencimentoAlternativoActionForm.setDiaVencimentoGrupo( clienteImovel .getImovel() .getQuadra() .getRota() .getFaturamentoGrupo() .getDiaVencimento() .toString()); } informarVencimentoAlternativoActionForm.setDiaVencimentoAtual(""); if (clienteImovel.getImovel().getDiaVencimento() != null && !clienteImovel.getImovel().getDiaVencimento().equals(0)) { informarVencimentoAlternativoActionForm.setDiaVencimentoAtual( clienteImovel.getImovel().getDiaVencimento().toString()); } FiltroVencimentoAlternativo filtroVencimentoAlternativo = new FiltroVencimentoAlternativo(FiltroVencimentoAlternativo.DATA_IMPLANTACAO); filtroVencimentoAlternativo.adicionarParametro( new ParametroSimples( FiltroVencimentoAlternativo.IMOVEL_ID, clienteImovel.getImovel().getId())); Collection<VencimentoAlternativo> vencimentosAlternativos = fachada.pesquisar(filtroVencimentoAlternativo, VencimentoAlternativo.class.getName()); if (!Util.isVazioOrNulo(vencimentosAlternativos)) { VencimentoAlternativo vencimentoAlternativo = vencimentosAlternativos.iterator().next(); informarVencimentoAlternativoActionForm.setDataAlteracaoVencimento(""); if (vencimentoAlternativo.getDataImplantacao() != null) { informarVencimentoAlternativoActionForm.setDataAlteracaoVencimento( new SimpleDateFormat("dd/MM/yyyy").format(vencimentoAlternativo.getDataImplantacao())); } sessao.setAttribute("vencimentoAlternativo", vencimentoAlternativo); } sessao.setAttribute( "colecaoNovoDiaVencimento", criarColecaoNovoDiaPagamento(clienteImovel, sessao)); if (clienteImovel.getImovel().getIndicadorVencimentoMesSeguinte() != null) { informarVencimentoAlternativoActionForm.setIndicadorVencimentoMesSeguinte( clienteImovel.getImovel().getIndicadorVencimentoMesSeguinte().toString()); } else { informarVencimentoAlternativoActionForm.setIndicadorVencimentoMesSeguinte("2"); } sessao.setAttribute("imovel", clienteImovel.getImovel()); }
/** * Este método cria a coleção de dias de vencimento alternativo disponível para esse imóvel.<br> * Caso o usuário tenha permissão especial de informar um vencimento alternativo, então a coleção * será sempre os dias de 1 a 30.<br> * Caso exista dados no campo dias de vencimento alternatico na tabela sistema parametro, então os * dias possíveis serãos esses. Caso nenhuma das duas opções anteriores seja atendida, então os * possíveis dias para o vencimento serão do dia depois do dia de vencimento do grupo até o dia * 30. * * @since 22/10/2009 * @author Marlon Patrick */ private Collection<Integer> criarColecaoNovoDiaPagamento( ClienteImovel clienteImovel, HttpSession sessao) { boolean isUsuarioComPermissaoInformarVencimentoAlternativoNovaData = Fachada.getInstancia() .verificarPermissaoInformarVencimentoAlternativoNovaData( (Usuario) sessao.getAttribute(Usuario.USUARIO_LOGADO)); List<Integer> colecaoNovoDiaVencimento = new ArrayList<Integer>(); if (isUsuarioComPermissaoInformarVencimentoAlternativoNovaData) { for (int i = 1; i <= 30; i++) { colecaoNovoDiaVencimento.add(i); } return colecaoNovoDiaVencimento; } SistemaParametro parametrosSistema = this.getFachada().pesquisarParametrosDoSistemaAtualizados(); if (Util.verificarNaoVazio(parametrosSistema.getDiasVencimentoAlternativo())) { String[] diasVencimento = parametrosSistema.getDiasVencimentoAlternativo().split(";"); for (String diaAtual : diasVencimento) { if (Util.verificarNaoVazio(diaAtual)) { colecaoNovoDiaVencimento.add(new Integer(diaAtual.trim())); } } Collections.sort(colecaoNovoDiaVencimento); return colecaoNovoDiaVencimento; } String empresaCAERN = "" + parametrosSistema.getCodigoEmpresaFebraban(); if (empresaCAERN.equals("6")) { colecaoNovoDiaVencimento.add(1); colecaoNovoDiaVencimento.add(5); colecaoNovoDiaVencimento.add(10); colecaoNovoDiaVencimento.add(25); colecaoNovoDiaVencimento.add(27); colecaoNovoDiaVencimento.add(30); } else { int i = clienteImovel.getImovel().getQuadra().getRota().getFaturamentoGrupo().getDiaVencimento() + 1; int ultimoDiaVencimentoAlternativo = 30; if (parametrosSistema.getUltimoDiaVencimentoAlternativo() != null) { ultimoDiaVencimentoAlternativo = parametrosSistema.getUltimoDiaVencimentoAlternativo().intValue(); } for (; i <= ultimoDiaVencimentoAlternativo; i++) { colecaoNovoDiaVencimento.add(i); } } return colecaoNovoDiaVencimento; }