package gcom.gui.cobranca.contratoparcelamento; import gcom.cobranca.contratoparcelamento.ContratoParcelamentoCliente; import gcom.cobranca.contratoparcelamento.FiltroContratoParcelamentoCliente; import gcom.cobranca.contratoparcelamento.FiltroContratoParcelamentoPrestacao; import gcom.cobranca.contratoparcelamento.PrestacaoContratoParcelamento; import gcom.fachada.Fachada; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.cobranca.contratoparcelamento.RelatorioEmitirComprovantePagamentoContratoParcelamento; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.Util; import gcom.util.filtro.ComparacaoTexto; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; 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; public class GerarRelatorioEmitirComprovantePagContratoParcelamentoAction extends ExibidorProcessamentoTarefaRelatorio{ /** * [UC1142] Emitir Comprovante de Pagamento de Contrato de Parcelamento por Cliente * * @author * @date * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = null; HttpSession sessao = httpServletRequest.getSession(false); //Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); EmitirComprovantePagamentoContratoParcelamentoClienteActionForm emitirComprovantePagamento = (EmitirComprovantePagamentoContratoParcelamentoClienteActionForm) actionForm; String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); TarefaRelatorio relatorio = null; ContratoParcelamentoCliente contratoParcelamentoCliente = null; ArrayList<PrestacaoContratoParcelamento> collectionPrestacaoContratoParcelamento = null; // Ocultar Parcela String ocultarParcela = ""; //Parcela para Emissao String parcelaInicial = ""; //Parcela Emiss�o String parcelaEmissao = ""; if (httpServletRequest.getParameter("numeroParcela") != null && !httpServletRequest.getParameter("numeroParcela").toString().trim().equals("") && httpServletRequest.getParameter("numeroContrato") != null && !httpServletRequest.getParameter("numeroContrato").toString().trim().equals("")) { /* * Adicionado por: Mariana Victor * Data: 08/07/2011 * * Emitir o comprovante da parcela paga a partir da funcionalidade * "Informar Pagamento de Contrato Parcelamento por Cliente". * */ String numeroContrato = httpServletRequest.getParameter("numeroContrato").toString(); Integer numeroParcela = new Integer(httpServletRequest.getParameter("numeroParcela")); FiltroContratoParcelamentoCliente filtroContratoParcelamentoCliente = new FiltroContratoParcelamentoCliente(); filtroContratoParcelamentoCliente.adicionarParametro(new ComparacaoTexto( FiltroContratoParcelamentoCliente.NUMERO_CONTRATO, numeroContrato)); filtroContratoParcelamentoCliente.adicionarCaminhoParaCarregamentoEntidade("contrato"); filtroContratoParcelamentoCliente.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroContratoParcelamentoCliente.adicionarCaminhoParaCarregamentoEntidade("contrato.relacaoCliente"); filtroContratoParcelamentoCliente.adicionarCaminhoParaCarregamentoEntidade("contrato.contratoAnterior"); filtroContratoParcelamentoCliente.adicionarCaminhoParaCarregamentoEntidade("contrato.relacaoCliente"); filtroContratoParcelamentoCliente.adicionarCaminhoParaCarregamentoEntidade("contrato.cobrancaForma"); filtroContratoParcelamentoCliente.adicionarCaminhoParaCarregamentoEntidade("contrato.motivoDesfazer"); Collection colecaoContrato = fachada.pesquisar( filtroContratoParcelamentoCliente, ContratoParcelamentoCliente.class.getName()); // Rotina para buscar o cliente superior se a ocorr�ncia n�o for �nica if (colecaoContrato.size() > 1) { Iterator it = colecaoContrato.iterator(); while (it.hasNext()) { contratoParcelamentoCliente = (ContratoParcelamentoCliente) it.next(); if (contratoParcelamentoCliente.getIndicadorClienteSuperior().toString().equals("1")) break; } } else { contratoParcelamentoCliente = (ContratoParcelamentoCliente) Util.retonarObjetoDeColecao(colecaoContrato); if(contratoParcelamentoCliente.getIndicadorClienteSuperior().toString().equals("2") && contratoParcelamentoCliente.getClienteSuperior() == null && contratoParcelamentoCliente.getContrato().getRelacaoCliente() != null){ emitirComprovantePagamento.setTipoRelacao( contratoParcelamentoCliente.getContrato().getRelacaoCliente().getDescricao()); } } FiltroContratoParcelamentoPrestacao filtroContratoParcelamentoPrestacao = new FiltroContratoParcelamentoPrestacao(); filtroContratoParcelamentoPrestacao.adicionarParametro(new ParametroSimples( FiltroContratoParcelamentoPrestacao.NUMERO, numeroParcela)); filtroContratoParcelamentoPrestacao.adicionarParametro(new ParametroSimples( FiltroContratoParcelamentoPrestacao.CONTRATO_PARCEL_ID, contratoParcelamentoCliente.getId())); collectionPrestacaoContratoParcelamento = new ArrayList(fachada.pesquisar( filtroContratoParcelamentoPrestacao, PrestacaoContratoParcelamento.class.getName())); ocultarParcela = "0"; parcelaEmissao = numeroParcela.toString(); } else { contratoParcelamentoCliente = (ContratoParcelamentoCliente) sessao.getAttribute("contratoParcelamentoCliente"); collectionPrestacaoContratoParcelamento = (ArrayList<PrestacaoContratoParcelamento>)sessao.getAttribute("parcelas"); ocultarParcela = emitirComprovantePagamento.getOcultarParcela(); parcelaEmissao = emitirComprovantePagamento.getParcelaEmissao(); parcelaInicial = emitirComprovantePagamento.getInicioParcelas(); } relatorio = new RelatorioEmitirComprovantePagamentoContratoParcelamento( (Usuario) (httpServletRequest.getSession(false)) .getAttribute("usuarioLogado")); relatorio.addParametro("contratoParcelamentoCliente", contratoParcelamentoCliente); relatorio.addParametro("collectionContratoParcelamentoItem",collectionPrestacaoContratoParcelamento); relatorio.addParametro("ocultarParcela",ocultarParcela); relatorio.addParametro("parcelaEmissao",parcelaEmissao); relatorio.addParametro("inicioParcelas",parcelaInicial); relatorio.addParametro("tipoFormatoRelatorio", Integer .parseInt(tipoRelatorio)); retorno = processarExibicaoRelatorio(relatorio, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); return retorno; } }