package gcom.gui.relatorio.cobranca.parcelamento;
import gcom.cadastro.geografico.FiltroMunicipio;
import gcom.cadastro.geografico.Municipio;
import gcom.cadastro.imovel.FiltroImovelPerfil;
import gcom.cadastro.imovel.ImovelPerfil;
import gcom.cadastro.localidade.FiltroGerenciaRegional;
import gcom.cadastro.localidade.FiltroLocalidade;
import gcom.cadastro.localidade.FiltroUnidadeNegocio;
import gcom.cadastro.localidade.GerenciaRegional;
import gcom.cadastro.localidade.Localidade;
import gcom.cadastro.localidade.UnidadeNegocio;
import gcom.cadastro.unidade.FiltroUnidadeOrganizacional;
import gcom.cadastro.unidade.UnidadeOrganizacional;
import gcom.cobranca.bean.FiltrarRelacaoParcelamentoHelper;
import gcom.cobranca.parcelamento.Parcelamento;
import gcom.cobranca.parcelamento.ParcelamentoSituacao;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.cobranca.parcelamento.GerarRelatorioRelacaoParcelamentoActionForm;
import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio;
import gcom.relatorio.RelatorioVazioException;
import gcom.relatorio.cobranca.parcelamento.RelacaoParcelamentoRelatorioHelper;
import gcom.relatorio.cobranca.parcelamento.RelatorioRelacaoParcelamento;
import gcom.relatorio.cobranca.parcelamento.RelatorioRelacaoParcelamentoAnalitico;
import gcom.relatorio.cobranca.parcelamento.RelatorioRelacaoParcelamentoAnaliticoBean;
import gcom.relatorio.cobranca.parcelamento.RelatorioRelacaoParcelamentoCartaoCredito;
import gcom.relatorio.cobranca.parcelamento.RelatorioRelacaoParcelamentoCartaoCreditoBean;
import gcom.seguranca.acesso.usuario.FiltroUsuario;
import gcom.seguranca.acesso.usuario.Usuario;
import gcom.tarefa.TarefaRelatorio;
import gcom.util.ConstantesSistema;
import gcom.util.SistemaException;
import gcom.util.Util;
import gcom.util.filtro.ConectorOr;
import gcom.util.filtro.ParametroSimples;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
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;
/**
* [UC0594] Gerar Rela��o de Parcelamento
*
* @author Ana Maria, Diogo Peixoto
*
* @date 30/05/2007, 29/04/2011
*/
public class GerarRelatorioRelacaoParcelamentoAction extends
ExibidorProcessamentoTarefaRelatorio {
/**
* < <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) {
// cria a vari�vel de retorno
ActionForward retorno = null;
Fachada fachada = Fachada.getInstancia();
httpServletRequest.setAttribute( "telaSucessoRelatorio", "sim" );
//HttpSession sessao = httpServletRequest.getSession(false);
// cria uma inst�ncia da classe do relat�rio
RelatorioRelacaoParcelamento relatorioRelacaoParcelamento =
new RelatorioRelacaoParcelamento((Usuario)(httpServletRequest.getSession(false)).getAttribute("usuarioLogado"));
RelatorioRelacaoParcelamentoAnalitico relatorioRelacaoParcelamentoAnalitico =
new RelatorioRelacaoParcelamentoAnalitico((Usuario)(httpServletRequest.getSession(false)).getAttribute("usuarioLogado"));
RelatorioRelacaoParcelamentoCartaoCredito relatorioRelacaoParcelamentoCartaoCredito =
new RelatorioRelacaoParcelamentoCartaoCredito((Usuario)(httpServletRequest.getSession(false)).getAttribute("usuarioLogado"));
GerarRelatorioRelacaoParcelamentoActionForm form = (GerarRelatorioRelacaoParcelamentoActionForm) actionForm;
String idLocalidade = form.getIdLocalidade();
String codigoSetorComercial = form.getIdSetorComercial();
String nnQuadra = form.getIdQuadra();
String idSituacaoParcelamento = form.getIdSituacaoParcelamento();
Parcelamento parcelamento = new Parcelamento();
FiltrarRelacaoParcelamentoHelper filtroParcelamento = new FiltrarRelacaoParcelamentoHelper();
boolean peloMenosUmParametroInformado = false;
// Unidade Organizacional
if (form.getIdUnidadeOrganizacional() != null && !form.getIdUnidadeOrganizacional().trim().equals("") ){
peloMenosUmParametroInformado = true;
filtroParcelamento.setIdUnidadeOrganizacional(
new Integer(form.getIdUnidadeOrganizacional()));
}
// Insere os par�metros informados no filtro
Localidade localidade = new Localidade();
if (idLocalidade != null && !idLocalidade.trim().equals("")) {
FiltroLocalidade filtroLocalidade = new FiltroLocalidade();
filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.ID, idLocalidade));
Collection colecaoLocalidade = fachada.pesquisar(filtroLocalidade, Localidade.class.getName());
if(colecaoLocalidade != null && !colecaoLocalidade.isEmpty()){
peloMenosUmParametroInformado = true;
localidade.setId(new Integer(idLocalidade));
parcelamento.setLocalidade(localidade);
}
if(codigoSetorComercial != null && !codigoSetorComercial.trim().equals("")){
parcelamento.setCodigoSetorComercial(new Integer(codigoSetorComercial));
}
if(nnQuadra != null && !nnQuadra.trim().equals("")){
parcelamento.setNumeroQuadra(new Integer(nnQuadra));
}
}
// Munic�pios Associados � Localidade
if (form.getMunicipiosAssociados() != null && form.getMunicipiosAssociados().length > 0) {
Collection<Integer> colecao = new ArrayList();
String[] array = form.getMunicipiosAssociados();
for (int i = 0; i < array.length; i++) {
if (new Integer(array[i]).intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) {
peloMenosUmParametroInformado = true;
colecao.add(new Integer(array[i]));
}
}
filtroParcelamento.setColecaoMunicipiosAssociados(colecao);
}
// Perfil do Imovel
if (form.getPerfilImovel() != null && form.getPerfilImovel().length > 0) {
Collection<Integer> colecao = new ArrayList();
String[] array = form.getPerfilImovel();
for (int i = 0; i < array.length; i++) {
if (new Integer(array[i]).intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) {
peloMenosUmParametroInformado = true;
colecao.add(new Integer(array[i]));
}
}
filtroParcelamento.setColecaoPerfilImovel(colecao);
}
Integer idGerencia = null;
if(form.getIdGerenciaRegional() != null && !form.getIdGerenciaRegional().equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){
peloMenosUmParametroInformado = true;
idGerencia = new Integer(form.getIdGerenciaRegional());
}
Integer idUnidadeNegocio = null;
if(form.getIdUnidadeNegocio() != null && !form.getIdUnidadeNegocio().equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){
peloMenosUmParametroInformado = true;
idUnidadeNegocio = new Integer(form.getIdUnidadeNegocio());
}
if(idSituacaoParcelamento != null && !idSituacaoParcelamento.trim().equals("")){
ParcelamentoSituacao parcelamentoSituacao = new ParcelamentoSituacao();
parcelamentoSituacao.setId(new Integer(idSituacaoParcelamento));
parcelamento.setParcelamentoSituacao(parcelamentoSituacao);
}
Collection<Integer> idsMotivoDesfazimento = new ArrayList();
if (form.getIdsMotivoDesfazimento() != null && form.getIdsMotivoDesfazimento().length > 0) {
String[] motivoDesfazimento = form.getIdsMotivoDesfazimento();
for (int i = 0; i < motivoDesfazimento.length; i++) {
if (new Integer(motivoDesfazimento[i]).intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) {
idsMotivoDesfazimento.add(new Integer(motivoDesfazimento[i]));
// passar a cole��o de especifica��o por par�metro
peloMenosUmParametroInformado = true;
}
}
}
Date dataParcelamentoInicial = null;
Date dataParcelamentoFinal = null;
if (form.getDataParcelamentoInicial() != null && !form.getDataParcelamentoInicial().equals("")) {
dataParcelamentoInicial = Util.converteStringParaDate(form.getDataParcelamentoInicial());
dataParcelamentoInicial = Util.formatarDataInicial(dataParcelamentoInicial);
dataParcelamentoFinal = null;
if (form.getDataParcelamentoFinal() != null && !form.getDataParcelamentoFinal().equals("")) {
dataParcelamentoFinal = Util.converteStringParaDate(form.getDataParcelamentoFinal());
dataParcelamentoFinal = Util.adaptarDataFinalComparacaoBetween(dataParcelamentoFinal);
} else {
dataParcelamentoFinal = new Date();
dataParcelamentoFinal = Util.formatarDataFinal(dataParcelamentoFinal);
}
//[FS005] Verificar data final menor que data inicial
int qtdeDias = Util.obterQuantidadeDiasEntreDuasDatas(dataParcelamentoInicial, dataParcelamentoFinal);
if (qtdeDias < 0) {
throw new ActionServletException("atencao.filtrar_data_final_maior_que_inicial");
}
relatorioRelacaoParcelamento.addParametro("dataParcelamentoInicial", form.getDataParcelamentoInicial());
relatorioRelacaoParcelamento.addParametro("dataParcelamentoFinal", form.getDataParcelamentoFinal());
// passar as datas de atendimento por par�metro
peloMenosUmParametroInformado = true;
}
String valorDebitoInicial = form.getValorDebitoInicial();
String valorDebitoFinal = form.getValorDebitoFinal();
BigDecimal valorInicial = null;
BigDecimal valorFinal = null;
// Verifica se o campo valorDebitoInicial e valorDebitoFinal foram informados
if (valorDebitoInicial != null && !valorDebitoInicial.trim().equalsIgnoreCase("") &&
valorDebitoFinal != null && !valorDebitoFinal.trim().equalsIgnoreCase("")) {
peloMenosUmParametroInformado = true;
String valorSemPontosInicial = valorDebitoInicial.replace(".", "");
valorDebitoInicial = valorSemPontosInicial.replace(",", ".");
String valorSemPontosFinal = valorDebitoFinal.replace(".", "");
valorDebitoFinal = valorSemPontosFinal.replace(",", ".");
valorInicial = new BigDecimal(valorDebitoInicial);
valorFinal = new BigDecimal(valorDebitoFinal);
Integer resultado = valorInicial.compareTo(valorFinal);
if (resultado == 1) {
throw new ActionServletException(
"atencao.valor_servico_final_menor_valor_servico_inicial");
}
}
// Verificamos se o elo foi informado
Integer idElo = null;
if ( form.getIdEloPolo() != null &&
!form.getIdEloPolo().equals( "" ) ){
peloMenosUmParametroInformado = true;
FiltroLocalidade filtro = new FiltroLocalidade();
filtro.adicionarParametro(
new ParametroSimples( FiltroLocalidade.ID, form.getIdLocalidade() ) );
Collection<Localidade> colLocalidade = fachada.pesquisar( filtro, Usuario.class.getName() );
if ( colLocalidade != null && colLocalidade.size() == 0 ){
throw new ActionServletException(
"atencao.elo_invalido", null, form.getIdEloPolo() );
}
idElo = Integer.parseInt( form.getIdEloPolo() );
}
// Verificamos se o usu�rio responsavel foi informado
Integer idUsuarioResponsavel = null;
if ( form.getIdUsuarioResponsavel() != null &&
!form.getIdUsuarioResponsavel().equals( "" ) ){
peloMenosUmParametroInformado = true;
FiltroUsuario filtro = new FiltroUsuario();
filtro.adicionarParametro(
new ParametroSimples( FiltroUsuario.ID, form.getIdUsuarioResponsavel() ) );
Collection<Usuario> colUsuario = fachada.pesquisar( filtro, Usuario.class.getName() );
if ( colUsuario != null && colUsuario.size() == 0 ){
throw new ActionServletException(
"atencao.usuario_responsavel_invalido", null, form.getIdUsuarioResponsavel() );
}
idUsuarioResponsavel = Integer.parseInt( form.getIdUsuarioResponsavel() );
}
// Verificamos data de confirma��o parcelamento
Date dataConfirmacaoInicial = null;
Date dataConfirmacaoFinal = null;
if (form.getDataConfirmacaoInicial() != null && !form.getDataConfirmacaoInicial().equals("")
&& form.getDataConfirmacaoFinal() != null && !form.getDataConfirmacaoFinal().equals("")) {
dataConfirmacaoInicial = Util.converteStringParaDate(form.getDataConfirmacaoInicial());
dataConfirmacaoInicial = Util.formatarDataInicial(dataConfirmacaoInicial);
dataConfirmacaoFinal = Util.converteStringParaDate(form.getDataConfirmacaoFinal());
dataConfirmacaoFinal = Util.adaptarDataFinalComparacaoBetween(dataConfirmacaoFinal);
//[FS005] Verificar data final menor que data inicial
int qtdeDias = Util.obterQuantidadeDiasEntreDuasDatas(dataConfirmacaoInicial, dataConfirmacaoFinal);
if (qtdeDias < 0) {
throw new ActionServletException("atencao.filtrar_data_final_maior_que_inicial");
}
// passar as datas de atendimento por par�metro
peloMenosUmParametroInformado = true;
}
// Verificamos se o usu�rio confirma��o foi informado
Integer idUsuarioConfirmacao = null;
if ( form.getIdUsuarioConfirmacao() != null &&
!form.getIdUsuarioConfirmacao().equals( "" )){
peloMenosUmParametroInformado = true;
FiltroUsuario filtro = new FiltroUsuario();
filtro.adicionarParametro(
new ParametroSimples( FiltroUsuario.ID, form.getIdUsuarioConfirmacao() ) );
Collection<Usuario> colUsuario = fachada.pesquisar( filtro, Usuario.class.getName() );
if ( colUsuario != null && colUsuario.size() == 0 ){
throw new ActionServletException(
"atencao.usuario_confirmacao_invalido", null, form.getIdUsuarioConfirmacao() );
}
idUsuarioConfirmacao = Integer.parseInt(form.getIdUsuarioConfirmacao());
}
// Verificamos indicador de confirma��o da operadora
Short indicadorConfirmacaoOperadora = null;
Date dataConfirmacaoOperadoraInicial = null;
Date dataConfirmacaoOperadoraFinal = null;
if(form.getIndicadorConfirmacaoOperadora()!=null
&& !form.getIndicadorConfirmacaoOperadora().equals("")){
peloMenosUmParametroInformado = true;
indicadorConfirmacaoOperadora = new Short(form.getIndicadorConfirmacaoOperadora());
if(form.getIndicadorConfirmacaoOperadora().equals(ConstantesSistema.SIM.toString())){
if(form.getDataConfirmacaoOperadoraInicial()!=null && !form.getDataConfirmacaoOperadoraInicial().equals("")){
dataConfirmacaoOperadoraInicial = Util.converteStringParaDate(form.getDataConfirmacaoOperadoraInicial());
dataConfirmacaoOperadoraInicial = Util.formatarDataInicial(dataConfirmacaoOperadoraInicial);
}
if(form.getDataConfirmacaoOperadoraFinal()!=null && !form.getDataConfirmacaoOperadoraFinal().equals("")){
dataConfirmacaoOperadoraFinal = Util.converteStringParaDate(form.getDataConfirmacaoOperadoraFinal());
dataConfirmacaoOperadoraFinal = Util.formatarDataInicial(dataConfirmacaoOperadoraFinal);
}
}
}
Collection<RelacaoParcelamentoRelatorioHelper> colecaoRelacaoParcelamento = null;
Collection<RelatorioRelacaoParcelamentoAnaliticoBean> colecaoRelacaoParcelamentoAnalitico = null;
Collection<RelatorioRelacaoParcelamentoCartaoCreditoBean> colecaoRelacaoParcelamentoCartaoCredito = null;
if (peloMenosUmParametroInformado) {
colecaoRelacaoParcelamento = new ArrayList();
filtroParcelamento.setParcelamento(parcelamento);
filtroParcelamento.setDataParcelamentoInicial(dataParcelamentoInicial);
filtroParcelamento.setDataParcelamentoFinal(dataParcelamentoFinal);
filtroParcelamento.setIdsMotivoDesfazimento(idsMotivoDesfazimento);
filtroParcelamento.setValorDebitoInicial(valorInicial);
filtroParcelamento.setValorDebitoFinal(valorFinal);
filtroParcelamento.setIdGerencia(idGerencia);
filtroParcelamento.setIdUnidadeNegocio(idUnidadeNegocio);
filtroParcelamento.setIdUsuarioResponsavel( idUsuarioResponsavel );
filtroParcelamento.setIdElo( idElo );
filtroParcelamento.setDataConfirmacaoInicial(dataConfirmacaoInicial);
filtroParcelamento.setDataConfirmacaoFinal(dataConfirmacaoFinal);
filtroParcelamento.setIdUsuarioConfirmacao(idUsuarioConfirmacao);
filtroParcelamento.setIndicadorConfirmacaoOperadora(indicadorConfirmacaoOperadora);
filtroParcelamento.setDataConfirmacaoOperadoraInicial(dataConfirmacaoOperadoraInicial);
filtroParcelamento.setDataConfirmacaoOperadoraFinal(dataConfirmacaoOperadoraFinal);
//MARKETING ATIVO
if ( form.getIdVisaoRelatorio().equals( "1" ) ) {
colecaoRelacaoParcelamento = fachada.filtrarRelacaoParcelamento(filtroParcelamento);
//ANALITICO
} else if ( form.getIdVisaoRelatorio().equals( "2" ) ) {
colecaoRelacaoParcelamentoAnalitico = fachada.filtrarRelacaoParcelamentoAnalitico(filtroParcelamento);
//CARTAO CREDITO
} else if ( form.getIdVisaoRelatorio().equals( "3" ) ) {
colecaoRelacaoParcelamentoCartaoCredito = fachada.filtrarRelacaoParcelamentoCartaoCredito(filtroParcelamento);
}
} else {
throw new ActionServletException("atencao.filtrar_informar_um_filtro");
}
// Gerencia Regional
String parametroGerencia = null;
if ( filtroParcelamento.getIdGerencia() != null && filtroParcelamento.getIdGerencia().toString() != "" ){
FiltroGerenciaRegional filtro = new FiltroGerenciaRegional();
filtro.adicionarParametro( new ParametroSimples( FiltroGerenciaRegional.ID, filtroParcelamento.getIdGerencia() ) );
Collection<GerenciaRegional> colGerencia = fachada.pesquisar( filtro, GerenciaRegional.class.getName() );
if ( colGerencia != null && colGerencia.size() > 0 ){
GerenciaRegional gerencia = (GerenciaRegional) colGerencia.iterator().next();
parametroGerencia = new String();
parametroGerencia = "Ger�ncia Regional - " + filtroParcelamento.getIdGerencia() + " " + gerencia.getNome() + " ";
}
}
// Unidade Organizacional
String parametroUnidadeOrganizacional = null;
if ( filtroParcelamento.getIdUnidadeOrganizacional() != null && !filtroParcelamento.getIdUnidadeOrganizacional().toString().equals("") ){
FiltroUnidadeOrganizacional filtro = new FiltroUnidadeOrganizacional();
filtro.adicionarParametro( new ParametroSimples(
FiltroUnidadeOrganizacional.ID, filtroParcelamento.getIdUnidadeOrganizacional() ) );
Collection<UnidadeOrganizacional> colUnidade = fachada.pesquisar( filtro, UnidadeOrganizacional.class.getName() );
if ( colUnidade != null && colUnidade.size() > 0 ){
UnidadeOrganizacional unidade = (UnidadeOrganizacional) colUnidade.iterator().next();
parametroUnidadeOrganizacional = new String();
parametroUnidadeOrganizacional = "Unidade Organizacional - " + filtroParcelamento.getIdUnidadeOrganizacional() + " " + unidade.getDescricao() + " ";
}
}
// Unidade Negocio
String parametroUnidadeNegocio = null;
if ( filtroParcelamento.getIdUnidadeNegocio() != null && filtroParcelamento.getIdUnidadeNegocio().toString() != "" ){
FiltroUnidadeNegocio filtro = new FiltroUnidadeNegocio();
filtro.adicionarParametro( new ParametroSimples( FiltroUnidadeNegocio.ID, filtroParcelamento.getIdUnidadeNegocio() ) );
Collection<UnidadeNegocio> colUnidadeNegocio = fachada.pesquisar( filtro, UnidadeNegocio.class.getName() );
if ( colUnidadeNegocio != null && colUnidadeNegocio.size() > 0 ){
UnidadeNegocio unidadeNegocio = (UnidadeNegocio) colUnidadeNegocio.iterator().next();
parametroUnidadeNegocio = new String();
parametroUnidadeNegocio = "Unidade de Neg�cio - " + filtroParcelamento.getIdUnidadeNegocio() + " " + unidadeNegocio.getNome() + " ";
}
}
// Elo
String parametroElo = null;
if ( filtroParcelamento.getIdElo() != null && filtroParcelamento.getIdElo().toString() != "" ){
FiltroLocalidade filtro = new FiltroLocalidade();
filtro.adicionarParametro( new ParametroSimples( FiltroLocalidade.ID_ELO, filtroParcelamento.getIdElo() ) );
Collection<Localidade> colElo = fachada.pesquisar( filtro, Localidade.class.getName() );
if ( colElo != null && colElo.size() > 0 ){
Localidade elo = (Localidade) colElo.iterator().next();
parametroElo = new String();
parametroElo = "Elo - " + filtroParcelamento.getIdElo() + " " + elo.getDescricao() + " ";
}
}
// Periodo Parcelamento
String parametroPeriodo = null;
if ( ( filtroParcelamento.getDataParcelamentoFinal() != null &&
!filtroParcelamento.getDataParcelamentoFinal().equals( "" ) ) ||
( filtroParcelamento.getDataParcelamentoInicial() != null &&
!filtroParcelamento.getDataParcelamentoInicial().equals( "" ) ) ){
parametroPeriodo = new String();
parametroPeriodo = "Per�odo - de " +
Util.formatarData(
filtroParcelamento.getDataParcelamentoInicial() ) +
" at� " + Util.formatarData(
filtroParcelamento.getDataParcelamentoFinal() ) + " ";
}
// Usuario Responsavel
String parametroUsuario = null;
if ( filtroParcelamento.getIdUsuarioResponsavel() != null && filtroParcelamento.getIdUsuarioResponsavel().toString() != "" ){
FiltroUsuario filtro = new FiltroUsuario();
filtro.adicionarParametro( new ParametroSimples( FiltroUsuario.ID, filtroParcelamento.getIdUsuarioResponsavel() ) );
Collection<Usuario> colUsuario = fachada.pesquisar( filtro, Usuario.class.getName() );
if ( colUsuario != null && colUsuario.size() > 0 ){
Usuario usuario = (Usuario) colUsuario.iterator().next();
parametroUsuario = new String();
parametroUsuario = "Usu�rio Respons�vel - " + filtroParcelamento.getIdUsuarioResponsavel() + " " + usuario.getNomeUsuario() + " ";
}
}
String parametroPerfilImovel = null;
String parametroValor = null;
if(filtroParcelamento.getColecaoPerfilImovel() !=null
&& !filtroParcelamento.getColecaoPerfilImovel().isEmpty()){
Collection idsPerfilImovel = filtroParcelamento.getColecaoPerfilImovel();
Iterator iteratorPerfilImovel = idsPerfilImovel.iterator();
FiltroImovelPerfil filtroImovelPerfil = new FiltroImovelPerfil();
while (iteratorPerfilImovel.hasNext()) {
Integer idPerfil = (Integer) iteratorPerfilImovel
.next();
if (!iteratorPerfilImovel.hasNext()) {
filtroImovelPerfil
.adicionarParametro(new ParametroSimples(
FiltroImovelPerfil.ID, idPerfil));
} else {
filtroImovelPerfil
.adicionarParametro(new ParametroSimples(
FiltroImovelPerfil.ID, idPerfil,
ConectorOr.CONECTOR_OR));
}
}
Collection colecaoImovelPerfil = fachada.pesquisar(
filtroImovelPerfil,ImovelPerfil.class.getName());
// Perfil Imovel
if(colecaoImovelPerfil !=null && !colecaoImovelPerfil.isEmpty()){
parametroPerfilImovel = new String();
parametroPerfilImovel = "Peril do Im�vel - ";
Iterator iteratorImovelPerfil = colecaoImovelPerfil.iterator();
while (iteratorImovelPerfil.hasNext()){
ImovelPerfil imovelPerfil = (ImovelPerfil) iteratorImovelPerfil.next();
parametroPerfilImovel += imovelPerfil.getDescricao() + " , ";
}
parametroPerfilImovel = Util.removerUltimosCaracteres(parametroPerfilImovel,2);
}
// Valor
if (form.getValorDebitoInicial()!= null && !form.getValorDebitoInicial().trim().equalsIgnoreCase("") &&
form.getValorDebitoFinal() != null && !form.getValorDebitoFinal().trim().equalsIgnoreCase("")) {
parametroValor = new String();
parametroValor = "Valor - de " + form.getValorDebitoInicial() + " a " + form.getValorDebitoFinal() + " ";
}
}
String parametroMuncipio = null;
if(filtroParcelamento.getColecaoMunicipiosAssociados() !=null
&& !filtroParcelamento.getColecaoMunicipiosAssociados().isEmpty()){
Collection idsMunicipios = filtroParcelamento.getColecaoMunicipiosAssociados();
Iterator iteratorMuncipios = idsMunicipios.iterator();
FiltroMunicipio filtroMunicipio = new FiltroMunicipio();
while (iteratorMuncipios.hasNext()) {
Integer idMuncipio = (Integer) iteratorMuncipios.next();
if (!iteratorMuncipios.hasNext()) {
filtroMunicipio.adicionarParametro(new ParametroSimples(FiltroMunicipio.ID, idMuncipio));
} else {
filtroMunicipio.adicionarParametro(new ParametroSimples(FiltroMunicipio.ID, idMuncipio, ConectorOr.CONECTOR_OR));
}
}
Collection colecaoMunicipio = fachada.pesquisar(filtroMunicipio,Municipio.class.getName());
// Perfil Imovel
if(colecaoMunicipio != null && !colecaoMunicipio.isEmpty()){
parametroMuncipio = new String();
parametroMuncipio = "Munic�pio - ";
Iterator iteratorMunicipio = colecaoMunicipio.iterator();
while (iteratorMunicipio.hasNext()){
Municipio municipio = (Municipio) iteratorMunicipio.next();
parametroMuncipio += municipio.getNome() + " , ";
}
parametroMuncipio = Util.removerUltimosCaracteres(parametroMuncipio,2);
}
}
String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio");
if (tipoRelatorio == null) {
tipoRelatorio = TarefaRelatorio.TIPO_PDF + "";
}
if ( form.getIdVisaoRelatorio().equals( "1" ) ){
if(colecaoRelacaoParcelamento == null || colecaoRelacaoParcelamento.isEmpty()){
throw new ActionServletException("atencao.pesquisa.nenhumresultado");
}else{
relatorioRelacaoParcelamento.addParametro("colecaoRelacaoParcelamento",colecaoRelacaoParcelamento);
}
Integer idSituacao = new Integer(form.getIdSituacaoParcelamento());
String situacao = null;
if(idSituacao.equals(ParcelamentoSituacao.NORMAL)){
situacao = "NORMAL";
}else{
situacao = "DESFEITO";
}
String faixaValores = null;
if(!valorDebitoInicial.equals("") && !valorDebitoFinal.equals("")){
faixaValores = Util.formatarMoedaReal(valorInicial) + " a " + Util.formatarMoedaReal(valorFinal);
}
String periodo = null;
if(dataParcelamentoInicial != null && dataParcelamentoFinal != null){
periodo = Util.formatarData(dataParcelamentoInicial) + " a " + Util.formatarData(dataParcelamentoFinal);
}
String cabecalho = "RELA��O DE PARCELAMENTOS - " + "SITUA��O: " +situacao+ " - MARKETING ATIVO";
//relatorioRelacaoParcelamento.addParametro( "parametros", parametros );
relatorioRelacaoParcelamento.addParametro("tipoFormatoRelatorio",Integer.parseInt(tipoRelatorio));
relatorioRelacaoParcelamento.addParametro("cabecalho", cabecalho);
relatorioRelacaoParcelamento.addParametro("faixaValores", faixaValores);
relatorioRelacaoParcelamento.addParametro("periodo", periodo);
relatorioRelacaoParcelamento.addParametro( "parametrosGerencia", parametroGerencia );
relatorioRelacaoParcelamento.addParametro( "parametroUnidadeOrganizacional", parametroUnidadeOrganizacional );
relatorioRelacaoParcelamento.addParametro( "parametroUnidadeNegocio", parametroUnidadeNegocio );
relatorioRelacaoParcelamento.addParametro( "parametroElo", parametroElo );
relatorioRelacaoParcelamento.addParametro( "parametroPeriodo", parametroPeriodo );
relatorioRelacaoParcelamento.addParametro( "parametroUsuario", parametroUsuario );
relatorioRelacaoParcelamento.addParametro( "parametroPerfilImovel", parametroPerfilImovel );
relatorioRelacaoParcelamento.addParametro( "parametroValor", parametroValor );
relatorioRelacaoParcelamento.addParametro( "parametroMuncipio", parametroMuncipio );
} else if ( form.getIdVisaoRelatorio().equals( "2" ) ){
if(colecaoRelacaoParcelamentoAnalitico == null || colecaoRelacaoParcelamentoAnalitico.isEmpty()){
throw new ActionServletException("atencao.pesquisa.nenhumresultado");
}else{
relatorioRelacaoParcelamentoAnalitico.addParametro("colecaoRelacaoParcelamentoAnalitico",colecaoRelacaoParcelamentoAnalitico);
relatorioRelacaoParcelamentoAnalitico.addParametro("tipoFormatoRelatorio",Integer.parseInt(tipoRelatorio));
String cabecalho = "RELA��O DE PARCELAMENTOS - ANAL�TICO";
relatorioRelacaoParcelamentoAnalitico.addParametro("cabecalho", cabecalho);
//relatorioRelacaoParcelamentoAnalitico.addParametro( "parametros", parametros );
relatorioRelacaoParcelamentoAnalitico.addParametro( "parametrosGerencia", parametroGerencia );
relatorioRelacaoParcelamentoAnalitico.addParametro( "parametroUnidadeOrganizacional", parametroUnidadeOrganizacional );
relatorioRelacaoParcelamentoAnalitico.addParametro( "parametroUnidadeNegocio", parametroUnidadeNegocio );
relatorioRelacaoParcelamentoAnalitico.addParametro( "parametroElo", parametroElo );
relatorioRelacaoParcelamentoAnalitico.addParametro( "parametroPeriodo", parametroPeriodo );
relatorioRelacaoParcelamentoAnalitico.addParametro( "parametroUsuario", parametroUsuario );
relatorioRelacaoParcelamentoAnalitico.addParametro( "parametroPerfilImovel", parametroPerfilImovel );
relatorioRelacaoParcelamentoAnalitico.addParametro( "parametroValor", parametroValor );
relatorioRelacaoParcelamentoAnalitico.addParametro( "parametroMuncipio", parametroMuncipio );
}
} else if ( form.getIdVisaoRelatorio().equals( "3" ) ){
relatorioRelacaoParcelamentoCartaoCredito.addParametro("colecaoRelacaoParcelamentoCartaoCredito",colecaoRelacaoParcelamentoCartaoCredito);
relatorioRelacaoParcelamentoCartaoCredito.addParametro("tipoFormatoRelatorio",Integer.parseInt(tipoRelatorio));
String cabecalho = "RELA��O DE PARCELAMENTOS - CART�O DE CR�DITO";
relatorioRelacaoParcelamentoCartaoCredito.addParametro("cabecalho", cabecalho);
//relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametros", parametros );
relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametrosGerencia", parametroGerencia );
relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametroUnidadeOrganizacional", parametroUnidadeOrganizacional );
relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametroUnidadeNegocio", parametroUnidadeNegocio );
relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametroElo", parametroElo );
relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametroPeriodo", parametroPeriodo );
relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametroUsuario", parametroUsuario );
relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametroPerfilImovel", parametroPerfilImovel );
relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametroValor", parametroValor );
relatorioRelacaoParcelamentoCartaoCredito.addParametro( "parametroMuncipio", parametroMuncipio );
}
relatorioRelacaoParcelamento.addParametro("tipoRelatorio", tipoRelatorio);
try {
if ( form.getIdVisaoRelatorio().equals( "1" ) ){
retorno = processarExibicaoRelatorio(relatorioRelacaoParcelamento,
tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping);
} else if ( form.getIdVisaoRelatorio().equals( "2" ) ){
retorno = processarExibicaoRelatorio(relatorioRelacaoParcelamentoAnalitico,
tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping);
}else if ( form.getIdVisaoRelatorio().equals( "3" ) ){
retorno = processarExibicaoRelatorio(relatorioRelacaoParcelamentoCartaoCredito,
tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping);
}
} catch (SistemaException ex) {
// manda o erro para a p�gina no request atual
reportarErros(httpServletRequest, "erro.sistema");
// seta o mapeamento de retorno para a tela de erro de popup
retorno = actionMapping.findForward("telaErroPopup");
} catch (RelatorioVazioException ex1) {
// manda o erro para a p�gina no request atual
reportarErros(httpServletRequest, "erro.relatorio.vazio");
// seta o mapeamento de retorno para a tela de aten��o de popup
retorno = actionMapping.findForward("telaAtencaoPopup");
}
return retorno;
}
}