package gcom.gui.arrecadacao; import gcom.arrecadacao.FiltroGuiaDevolucao; import gcom.arrecadacao.GuiaDevolucao; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.FiltroCliente; import gcom.cadastro.imovel.FiltroImovel; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.Localidade; import gcom.fachada.Fachada; import gcom.faturamento.debito.DebitoTipo; import gcom.faturamento.debito.FiltroDebitoTipo; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Collection; import java.util.GregorianCalendar; import java.util.HashSet; import java.util.Iterator; import java.util.List; 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; /** * Descri��o da classe * * @author Fernanda Paiva * @date 21/02/2006 */ public class ExibirInserirDevolucoesAction extends GcomAction { /** * Action respons�vel pela pre-exibi��o da pagina de inserir * devolucoes * * [UC0271] Inserir Devolucoes * * @author Fernanda Paiva * @date 10/03/2006 * * @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("exibirInserirDevolucoes"); Fachada fachada = Fachada.getInstancia(); //HttpSession sessao = httpServletRequest.getSession(false); InserirDevolucoesActionForm inserirDevolucoesActionForm = (InserirDevolucoesActionForm) actionForm; // Carregar a data corrente do sistema SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy"); Calendar dataCorrente = new GregorianCalendar(); // Data Corrente httpServletRequest.setAttribute("dataAtual", formatoData .format(dataCorrente.getTime())); // -------Parte que trata do c�digo quando o usu�rio tecla enter // C�digo do Cliente String codigoDigitadoClienteEnter = (String) inserirDevolucoesActionForm .getCodigoCliente(); // Matr�cula do Im�vel String codigoDigitadoImovelEnter = (String) inserirDevolucoesActionForm .getCodigoImovel(); // Matr�cula do Localidade String codigoDigitadoLocalidadeEnter = (String) inserirDevolucoesActionForm .getLocalidade(); // Matr�cula do Guia Devolucao String codigoDigitadoGuiaEnter = (String) inserirDevolucoesActionForm .getGuiaDevolucao(); // Matr�cula do DebitoTipo String codigoDigitadoDebitoEnter = (String) inserirDevolucoesActionForm .getTipoDebito(); /*if (httpServletRequest.getParameter("tipoConsulta") != null && !httpServletRequest.getParameter("tipoConsulta").equals("")) { // Verifica se o tipo da consulta de imovel � de Localidade // se for os parametros de enviarDadosParametros ser�o mandados para // a pagina cliente_pesuisar.jsp if (httpServletRequest.getParameter("tipoConsulta").equals( "guiaDevolucao")) { inserirDevolucoesActionForm.setGuiaDevolucao(httpServletRequest .getParameter("idCampoEnviarDados")); inserirDevolucoesActionForm.setGuiaDevolucaoDescricao(httpServletRequest .getParameter("descricaoCampoEnviarDados")); httpServletRequest.setAttribute("nomeCampo", "codigoSetorComercial"); } }*/ // Verifica se o c�digo do im�vel foi digitado if (codigoDigitadoImovelEnter != null && !codigoDigitadoImovelEnter.trim().equals("") && Integer.parseInt(codigoDigitadoImovelEnter) > 0) { FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("localidade"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("setorComercial"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("quadra"); filtroImovel.adicionarParametro(new ParametroSimples( FiltroImovel.ID, codigoDigitadoImovelEnter)); Collection imovelEncontrado = fachada.pesquisar(filtroImovel, Imovel.class.getName()); if (imovelEncontrado != null && !imovelEncontrado.isEmpty()) { // O imovel foi encontrado inserirDevolucoesActionForm.setCodigoImovel("" + ((Imovel) ((List) imovelEncontrado).get(0)).getId()); inserirDevolucoesActionForm.setCodigoImovelClone("" + ((Imovel) ((List) imovelEncontrado).get(0)).getId()); inserirDevolucoesActionForm.setInscricaoImovel("" + ((Imovel) ((List) imovelEncontrado).get(0)).getInscricaoFormatada()); String localidadeAntes = codigoDigitadoLocalidadeEnter; codigoDigitadoLocalidadeEnter = ((Imovel) ((List) imovelEncontrado).get(0)).getLocalidade().getId().toString(); if(localidadeAntes != null && !localidadeAntes.equals("")) { String localidade1 = codigoDigitadoLocalidadeEnter; FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.limparListaParametros(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, localidadeAntes)); Collection localidadeEncontrada = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (localidadeEncontrada != null && !localidadeEncontrada.isEmpty()) { // O imovel foi encontrado String localidade2 = localidadeAntes; if(!localidadeAntes.equals(codigoDigitadoLocalidadeEnter)) { throw new ActionServletException( "atencao.pesquisa.localidade.imovel.diferente", "" + localidade1, localidade2); } inserirDevolucoesActionForm.setLocalidade("" + ((Imovel) ((List) imovelEncontrado).get(0)).getLocalidade().getId()); inserirDevolucoesActionForm.setLocalidadeClone("" + ((Imovel) ((List) imovelEncontrado).get(0)).getLocalidade().getId()); inserirDevolucoesActionForm.setLocalidadeDescricao("" + ((Imovel) ((List) imovelEncontrado).get(0)).getLocalidade().getDescricao()); }else{ String localidade2 = localidadeAntes; throw new ActionServletException( "atencao.pesquisa.localidade.imovel.diferente", "" + localidade1, localidade2); } } } else { httpServletRequest.setAttribute("corImovel","exception"); inserirDevolucoesActionForm .setInscricaoImovel(ConstantesSistema.CODIGO_IMOVEL_INEXISTENTE); } } // Verifica se o do cliente c�digo foi digitado if (codigoDigitadoClienteEnter != null && !codigoDigitadoClienteEnter.trim().equals("") && Integer.parseInt(codigoDigitadoClienteEnter) > 0) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples( FiltroCliente.ID, codigoDigitadoClienteEnter)); filtroCliente.adicionarParametro(new ParametroSimples( FiltroCliente.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection clienteEncontrado = fachada.pesquisar(filtroCliente, Cliente.class.getName()); if (clienteEncontrado != null && !clienteEncontrado.isEmpty()) { // O Cliente foi encontrado if (((Cliente) ((List) clienteEncontrado).get(0)) .getIndicadorUso().equals( ConstantesSistema.INDICADOR_USO_DESATIVO)) { throw new ActionServletException("atencao.cliente.inativo", null, "" + ((Cliente) ((List) clienteEncontrado) .get(0)).getId()); } inserirDevolucoesActionForm .setNomeCliente(((Cliente) ((List) clienteEncontrado) .get(0)).getNome()); inserirDevolucoesActionForm .setCodigoCliente(((Cliente) ((List) clienteEncontrado) .get(0)).getId().toString()); inserirDevolucoesActionForm .setCodigoClienteClone(((Cliente) ((List) clienteEncontrado) .get(0)).getId().toString()); } else { httpServletRequest.setAttribute("corCliente","exception"); inserirDevolucoesActionForm .setNomeCliente(ConstantesSistema.CODIGO_CLIENTE_INEXISTENTE); } } // Verifica se o do debito tipo foi digitado if (codigoDigitadoDebitoEnter != null && !codigoDigitadoDebitoEnter.trim().equals("") && Integer.parseInt(codigoDigitadoDebitoEnter) > 0) { FiltroDebitoTipo filtroDebitoTipo = new FiltroDebitoTipo(); filtroDebitoTipo.adicionarParametro(new ParametroSimples( FiltroDebitoTipo.ID, codigoDigitadoDebitoEnter)); filtroDebitoTipo.adicionarParametro(new ParametroSimples( FiltroDebitoTipo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection debitoEncontrado = fachada.pesquisar(filtroDebitoTipo, DebitoTipo.class.getName()); if (debitoEncontrado != null && !debitoEncontrado.isEmpty()) { // O Cliente foi encontrado if (((DebitoTipo) ((List) debitoEncontrado).get(0)) .getIndicadorUso().equals( ConstantesSistema.INDICADOR_USO_DESATIVO)) { throw new ActionServletException("atencao.debitoTipo.inativo", null, "" + ((DebitoTipo) ((List) debitoEncontrado) .get(0)).getId()); } inserirDevolucoesActionForm .setTipoDebito(((DebitoTipo) ((List) debitoEncontrado) .get(0)).getId().toString()); inserirDevolucoesActionForm .setTipoDebitoClone(((DebitoTipo) ((List) debitoEncontrado) .get(0)).getId().toString()); inserirDevolucoesActionForm .setDescricaoTipoDebito(((DebitoTipo) ((List) debitoEncontrado) .get(0)).getDescricao()); } else { httpServletRequest.setAttribute("corTipoDebito","exception"); inserirDevolucoesActionForm .setDescricaoTipoDebito(ConstantesSistema.CODIGO_TIPO_DEBITO_INEXISTENTE); } } // Verifica se o c�digo do im�vel foi digitado if (codigoDigitadoGuiaEnter != null && !codigoDigitadoGuiaEnter.trim().equals("") && Integer.parseInt(codigoDigitadoGuiaEnter) > 0) { FiltroGuiaDevolucao filtroGuiaDevolucao = new FiltroGuiaDevolucao(); filtroGuiaDevolucao .adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroGuiaDevolucao .adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroGuiaDevolucao .adicionarCaminhoParaCarregamentoEntidade("imovel.localidade"); filtroGuiaDevolucao .adicionarCaminhoParaCarregamentoEntidade("imovel.setorComercial"); filtroGuiaDevolucao .adicionarCaminhoParaCarregamentoEntidade("imovel.quadra"); filtroGuiaDevolucao .adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroGuiaDevolucao .adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroGuiaDevolucao .adicionarCaminhoParaCarregamentoEntidade("creditoTipo"); filtroGuiaDevolucao.adicionarParametro(new ParametroSimples( FiltroGuiaDevolucao.ID, codigoDigitadoGuiaEnter)); Collection guiaEncontrado = fachada.pesquisar(filtroGuiaDevolucao, GuiaDevolucao.class.getName()); if (guiaEncontrado != null && !guiaEncontrado.isEmpty()) { // A Guia foi encontrada Iterator iterator = guiaEncontrado.iterator(); GuiaDevolucao guiaDevolucao = (GuiaDevolucao) iterator.next(); if (guiaDevolucao.getImovel() != null) { inserirDevolucoesActionForm.setCodigoImovel("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getImovel().getId()); inserirDevolucoesActionForm.setCodigoImovelClone("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getImovel().getId()); inserirDevolucoesActionForm.setInscricaoImovel("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getImovel().getInscricaoFormatada()); inserirDevolucoesActionForm.setLocalidade("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getImovel().getLocalidade().getId()); inserirDevolucoesActionForm.setLocalidadeClone("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getImovel().getLocalidade().getId()); inserirDevolucoesActionForm.setLocalidadeDescricao("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getImovel().getLocalidade().getDescricao()); } if (guiaDevolucao.getCliente() != null) { inserirDevolucoesActionForm.setCodigoCliente("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getCliente().getId()); inserirDevolucoesActionForm.setCodigoClienteClone("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getCliente().getId()); inserirDevolucoesActionForm.setNomeCliente("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getCliente().getNome()); } inserirDevolucoesActionForm.setValorDevolucao("" + Util.formatarMoedaReal(((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getValorDevolucao())); inserirDevolucoesActionForm.setValorGuiaDevolucao("" + Util.formatarMoedaReal(((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getValorDevolucao())); if (guiaDevolucao.getCreditoTipo() != null) { inserirDevolucoesActionForm.setGuiaDevolucaoDescricao("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getCreditoTipo().getDescricao()); } if (guiaDevolucao.getDebitoTipo() != null) { inserirDevolucoesActionForm.setTipoDebito("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getDebitoTipo().getId()); inserirDevolucoesActionForm.setTipoDebitoClone("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getDebitoTipo().getId()); inserirDevolucoesActionForm.setDescricaoTipoDebito("" + ((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getDebitoTipo().getDescricao()); } if (guiaDevolucao.getAnoMesReferenciaGuiaDevolucao() != null) { inserirDevolucoesActionForm.setReferenciaDevolucao("" + Util.formatarAnoMesParaMesAno(((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getAnoMesReferenciaGuiaDevolucao())); inserirDevolucoesActionForm.setReferenciaDevolucaoClone("" + Util.formatarAnoMesParaMesAno(((GuiaDevolucao) ((List) guiaEncontrado).get(0)).getAnoMesReferenciaGuiaDevolucao())); } } else { httpServletRequest.setAttribute("corGuia","exception"); inserirDevolucoesActionForm .setGuiaDevolucaoDescricao(ConstantesSistema.CODIGO_GUIA_DEVOLUCAO_INEXISTENTE); } } FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); Collection localidades = new HashSet(); // Verifica se a localidade foi digitada if (codigoDigitadoLocalidadeEnter != null && !codigoDigitadoLocalidadeEnter.trim().equals("") && Integer.parseInt(codigoDigitadoLocalidadeEnter) > 0) { filtroLocalidade.limparListaParametros(); //coloca parametro no filtro filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, new Integer(codigoDigitadoLocalidadeEnter))); //pesquisa localidades = fachada.pesquisar(filtroLocalidade, Localidade.class .getName()); if (localidades != null && !localidades.isEmpty()) { //A localidade foi encontrada inserirDevolucoesActionForm.setLocalidade(((Localidade) ((List) localidades) .get(0)).getId().toString()); inserirDevolucoesActionForm.setLocalidadeClone(((Localidade) ((List) localidades) .get(0)).getId().toString()); inserirDevolucoesActionForm.setLocalidadeDescricao(((Localidade) ((List) localidades) .get(0)).getDescricao()); } else { httpServletRequest.setAttribute("corLocalidade","exception"); inserirDevolucoesActionForm .setLocalidadeDescricao(ConstantesSistema.CODIGO_LOCALIDADE_INEXISTENTE); } } httpServletRequest.setAttribute("nomeCampo","guiaDevolucao"); return retorno; } }