package gcom.gui.gerencial;
import gcom.atendimentopublico.ligacaoagua.FiltroLigacaoAguaSituacao;
import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao;
import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgotoSituacao;
import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoSituacao;
import gcom.cadastro.cliente.EsferaPoder;
import gcom.cadastro.cliente.FiltroEsferaPoder;
import gcom.cadastro.imovel.Categoria;
import gcom.cadastro.imovel.FiltroCategoria;
import gcom.cadastro.imovel.FiltroImovelPerfil;
import gcom.cadastro.imovel.ImovelPerfil;
import gcom.cadastro.localidade.FiltroQuadra;
import gcom.cadastro.localidade.FiltroSetorComercial;
import gcom.cadastro.localidade.Quadra;
import gcom.cadastro.localidade.SetorComercial;
import gcom.fachada.Fachada;
import gcom.gerencial.bean.InformarDadosGeracaoRelatorioConsultaHelper;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.gui.StatusWizard;
import gcom.util.ConstantesSistema;
import gcom.util.Util;
import gcom.util.filtro.ConectorOr;
import gcom.util.filtro.ParametroSimples;
import java.util.ArrayList;
import java.util.Collection;
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;
/**
* Esta classe tem por finalidade receber os par�metros que servir�o para
* informar os dados para gera��o de relat�rio/consulta
*
* @author Raphael Rossiter
* @date 19/05/2006
*/
public class InformarDadosGeracaoRelatorioConsultaAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping
.findForward("exibirInformarDadosGeracaoRelatorioConsulta");
HttpSession sessao = httpServletRequest.getSession(false);
Fachada fachada = Fachada.getInstancia();
/**
* pega o tipo de resumo da sessao para direcionar o forward
*/
String tipoResumo = (String) sessao.getAttribute("tipoResumo");
if ("ANORMALIDADE".trim().equalsIgnoreCase(tipoResumo)) {
retorno = actionMapping
.findForward("informarConsultarResumoAnormalidade");
} else if ("PENDENCIA".trim().equalsIgnoreCase(tipoResumo)) {
retorno = actionMapping
.findForward("informarConsultarResumoPendencia");
} else if ("LIGACAO_EC0NOMIA".trim().equalsIgnoreCase(tipoResumo)) {
retorno = actionMapping
.findForward("informarConsultarResumoLigacoesEconomia");
} else if ("ANALISE".trim().equalsIgnoreCase(tipoResumo)) {
retorno = actionMapping
.findForward("informarConsultarResumoAnaliseFaturamento");
} else if ("COMPARATIVORESUMOS".trim().equalsIgnoreCase(tipoResumo)) {
retorno = actionMapping
.findForward("consultarComparativoResumosFaturamentoArrecadacaoPendencia");
}else if ("ACAOCOBRANCA".trim().equalsIgnoreCase(tipoResumo)){
retorno = actionMapping.findForward("consultarResumoAcaoCobrancaParametros");
// Monta o Status do Wizard
StatusWizard statusWizard = new StatusWizard(
"consultarResumoAcaoCobrancaWizardAction", "exibirInformarDadosGeracaoRelatorioConsultaAction",
"cancelarConsultarResumoAcaoCobrancaAction",
"exibirInformarDadosGeracaoRelatorioConsultaAction",
"informarDadosGeracaoRelatorioConsultaAction.do");
statusWizard
.inserirNumeroPaginaCaminho(statusWizard.new StatusWizardItem(
1, "ParametrosPrimeiraAbaA.gif", "ParametrosPrimeiraAbaD.gif",
"exibirDadosGeracaoConsultaAction",
""));
statusWizard
.inserirNumeroPaginaCaminho(statusWizard.new StatusWizardItem(
2, "UnidadeNegocioA.gif", "UnidadeNegocioD.gif",
"exibirConsultarResumoAcaoCobrancaAction",
""));
//manda o statusWizard para a sess�o
sessao.setAttribute("statusWizard", statusWizard);
}
InformarDadosGeracaoRelatorioConsultaActionForm informarDadosGeracaoRelatorioConsultaActionForm = (InformarDadosGeracaoRelatorioConsultaActionForm) actionForm;
String mesAnoFaturamento = informarDadosGeracaoRelatorioConsultaActionForm
.getMesAnoFaturamento();
Integer opcaoTotalizacao = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getOpcaoTotalizacao());
Integer idFaturamentoGrupo = null;
if (informarDadosGeracaoRelatorioConsultaActionForm
.getGrupoFaturamento() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getGrupoFaturamento().equals("")) {
idFaturamentoGrupo = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getGrupoFaturamento());
}
Integer idCobrancaGrupo = null;
if (informarDadosGeracaoRelatorioConsultaActionForm
.getGrupoCobranca() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getGrupoCobranca().equals("")) {
idCobrancaGrupo = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getGrupoCobranca());
}
Integer idGerenciaRegional = null;
if (informarDadosGeracaoRelatorioConsultaActionForm
.getGerencialRegional() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getGerencialRegional().equals("")) {
idGerenciaRegional = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getGerencialRegional());
}
Integer idUnidadeNegocio = null;
if (informarDadosGeracaoRelatorioConsultaActionForm
.getUnidadeNegocio() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getUnidadeNegocio().equals("")) {
idUnidadeNegocio = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getUnidadeNegocio());
}
Integer idEloPolo = null;
if (informarDadosGeracaoRelatorioConsultaActionForm.getEloPolo() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getEloPolo().equals("")) {
idEloPolo = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getEloPolo());
}
Integer idLocalidade = null;
if (informarDadosGeracaoRelatorioConsultaActionForm.getLocalidade() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getLocalidade().equals("")) {
idLocalidade = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getLocalidade());
}
Integer idMunicipio = null;
if (informarDadosGeracaoRelatorioConsultaActionForm.getMunicipio() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getMunicipio().equals("")) {
idMunicipio = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getMunicipio());
}
Integer idSetorComercial = null;
if (informarDadosGeracaoRelatorioConsultaActionForm.getSetorComercial() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getSetorComercial().equals("")) {
if (informarDadosGeracaoRelatorioConsultaActionForm
.getIdSetorComercial() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getIdSetorComercial().equals("")) {
idSetorComercial = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getIdSetorComercial());
} else {
FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial();
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.ID_LOCALIDADE, idLocalidade));
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.CODIGO_SETOR_COMERCIAL,
informarDadosGeracaoRelatorioConsultaActionForm
.getSetorComercial()));
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.INDICADORUSO,
ConstantesSistema.INDICADOR_USO_ATIVO));
Collection colecaoPesquisa = fachada.pesquisar(
filtroSetorComercial, SetorComercial.class.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) {
throw new ActionServletException(
"atencao.pesquisa_inexistente", null,
"Setor Comercial");
}
SetorComercial setorComercial = (SetorComercial) Util
.retonarObjetoDeColecao(colecaoPesquisa);
idSetorComercial = setorComercial.getId();
}
}
Integer nmQuadra = null;
if (informarDadosGeracaoRelatorioConsultaActionForm.getQuadra() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm.getQuadra()
.equals("")) {
FiltroQuadra filtroQuadra = new FiltroQuadra();
//filtroQuadra.adicionarCaminhoParaCarregamentoEntidade("bairro");
filtroQuadra.adicionarParametro(new ParametroSimples(
FiltroQuadra.ID_SETORCOMERCIAL, idSetorComercial));
filtroQuadra
.adicionarParametro(new ParametroSimples(
FiltroQuadra.NUMERO_QUADRA,
informarDadosGeracaoRelatorioConsultaActionForm
.getQuadra()));
filtroQuadra.adicionarParametro(new ParametroSimples(
FiltroQuadra.INDICADORUSO,
ConstantesSistema.INDICADOR_USO_ATIVO));
Collection colecaoPesquisa = fachada.pesquisar(filtroQuadra,
Quadra.class.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) {
throw new ActionServletException(
"atencao.pesquisa_inexistente", null, "Quadra");
}
nmQuadra = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm.getQuadra());
}
String[] imovelPerfil = informarDadosGeracaoRelatorioConsultaActionForm
.getPerfilImovel();
String[] ligacaoAguaSituacao = informarDadosGeracaoRelatorioConsultaActionForm
.getSituacaoLigacaoAgua();
String[] ligacaoEsgotoSituacao = informarDadosGeracaoRelatorioConsultaActionForm
.getSituacaoLigacaoEsgoto();
String[] categoria = informarDadosGeracaoRelatorioConsultaActionForm
.getCategoria();
String[] esferaPoder = informarDadosGeracaoRelatorioConsultaActionForm
.getEsferaPoder();
Integer tipoAnaliseFaturamento = null;
if (informarDadosGeracaoRelatorioConsultaActionForm
.getTipoAnaliseFaturamento() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getTipoAnaliseFaturamento().equals("")) {
tipoAnaliseFaturamento = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getTipoAnaliseFaturamento());
}
/** [RR2011071026]
* Autor: Paulo Diniz
* Data: 21/07/2011
* Resumo da An�lise do Faturamento
*/
Integer idRota = null;
if (informarDadosGeracaoRelatorioConsultaActionForm.getIdRota() != null
&& !informarDadosGeracaoRelatorioConsultaActionForm
.getIdRota().equals("")) {
idRota = new Integer(
informarDadosGeracaoRelatorioConsultaActionForm
.getIdRota());
}
// Tipo de Relat�rio
Integer tipoRelatorio = null;
if (httpServletRequest.getAttribute("tipoRelatorio") != null) {
tipoRelatorio = (Integer) httpServletRequest
.getAttribute("tipoRelatorio");
}
// [UC0304] Informar Dados para Gera��o de Relat�rio ou Consulta
InformarDadosGeracaoRelatorioConsultaHelper informarDadosGeracaoRelatorioConsultaHelper = fachada
.informarDadosGeracaoRelatorioConsulta(mesAnoFaturamento,
opcaoTotalizacao, idFaturamentoGrupo, idCobrancaGrupo,
idGerenciaRegional, idEloPolo, idLocalidade,
idSetorComercial, nmQuadra, imovelPerfil,
ligacaoAguaSituacao, ligacaoEsgotoSituacao, categoria,
esferaPoder, tipoAnaliseFaturamento, tipoRelatorio,
idUnidadeNegocio, idMunicipio, idRota);
sessao.setAttribute("informarDadosGeracaoRelatorioConsultaHelper",
informarDadosGeracaoRelatorioConsultaHelper);
ImovelPerfil imovelPerfilColecao = new ImovelPerfil();
imovelPerfilColecao.setId(-1);
Collection colecaoImovelPerfil = new ArrayList();
int i = 0;
if (imovelPerfil != null) {
imovelPerfilColecao.setDescricao("OP��ES SELECIONADAS");
colecaoImovelPerfil.add(imovelPerfilColecao);
FiltroImovelPerfil filtroImovelPerfil = new FiltroImovelPerfil();
for (i = 0; i < imovelPerfil.length; i++) {
if (!imovelPerfil[i].equals("")
&& !imovelPerfil[i].equals(""
+ ConstantesSistema.NUMERO_NAO_INFORMADO)) {
if (i + 1 < imovelPerfil.length) {
filtroImovelPerfil
.adicionarParametro(new ParametroSimples(
FiltroImovelPerfil.ID, imovelPerfil[i],
ConectorOr.CONECTOR_OR,
imovelPerfil.length));
} else {
filtroImovelPerfil
.adicionarParametro(new ParametroSimples(
FiltroImovelPerfil.ID, imovelPerfil[i]));
}
}
}
filtroImovelPerfil.setCampoOrderBy(FiltroImovelPerfil.DESCRICAO);
Collection colecaoImovelPerfilPesquisa = fachada.pesquisar(
filtroImovelPerfil, ImovelPerfil.class.getName());
if (colecaoImovelPerfilPesquisa != null
&& !colecaoImovelPerfilPesquisa.isEmpty()) {
colecaoImovelPerfil.addAll(colecaoImovelPerfilPesquisa);
}
} else {
imovelPerfilColecao.setDescricao("TODOS");
colecaoImovelPerfil.add(imovelPerfilColecao);
}
sessao.setAttribute("colecaoImovelPerfilResultado", colecaoImovelPerfil);
LigacaoAguaSituacao ligacaoAguaSituacaoColecao = new LigacaoAguaSituacao();
ligacaoAguaSituacaoColecao.setId(-1);
Collection colecaoLigacaoAguaSituacao = new ArrayList();
i = 0;
if (ligacaoAguaSituacao != null) {
ligacaoAguaSituacaoColecao.setDescricao("OP��ES SELECIONADAS");
colecaoLigacaoAguaSituacao.add(ligacaoAguaSituacaoColecao);
FiltroLigacaoAguaSituacao filtroLigacaoAguaSituacao = new FiltroLigacaoAguaSituacao();
for (i = 0; i < ligacaoAguaSituacao.length; i++) {
if (!ligacaoAguaSituacao[i].equals("")
&& !ligacaoAguaSituacao[i].equals(""
+ ConstantesSistema.NUMERO_NAO_INFORMADO)) {
if (i + 1 < ligacaoAguaSituacao.length) {
filtroLigacaoAguaSituacao
.adicionarParametro(new ParametroSimples(
FiltroLigacaoAguaSituacao.ID, ligacaoAguaSituacao[i],
ConectorOr.CONECTOR_OR,
ligacaoAguaSituacao.length));
} else {
filtroLigacaoAguaSituacao
.adicionarParametro(new ParametroSimples(
FiltroLigacaoAguaSituacao.ID, ligacaoAguaSituacao[i]));
}
}
}
filtroLigacaoAguaSituacao.setCampoOrderBy(FiltroLigacaoAguaSituacao.DESCRICAO);
Collection colecaoLigacaoAguaSituacaoPesquisa = fachada.pesquisar(
filtroLigacaoAguaSituacao, LigacaoAguaSituacao.class.getName());
if (colecaoLigacaoAguaSituacaoPesquisa != null
&& !colecaoLigacaoAguaSituacaoPesquisa.isEmpty()) {
colecaoLigacaoAguaSituacao.addAll(colecaoLigacaoAguaSituacaoPesquisa);
}
} else {
ligacaoAguaSituacaoColecao.setDescricao("TODOS");
colecaoLigacaoAguaSituacao.add(ligacaoAguaSituacaoColecao);
}
sessao.setAttribute("colecaoLigacaoAguaSituacaoResultado", colecaoLigacaoAguaSituacao);
LigacaoEsgotoSituacao ligacaoEsgotoSituacaoColecao = new LigacaoEsgotoSituacao();
ligacaoAguaSituacaoColecao.setId(-1);
Collection colecaoLigacaoEsgotoSituacao = new ArrayList();
i = 0;
if (ligacaoEsgotoSituacao != null) {
ligacaoEsgotoSituacaoColecao.setDescricao("OP��ES SELECIONADAS");
colecaoLigacaoEsgotoSituacao.add(ligacaoEsgotoSituacaoColecao);
FiltroLigacaoEsgotoSituacao filtroLigacaoEsgotoSituacao = new FiltroLigacaoEsgotoSituacao();
for (i = 0; i < ligacaoEsgotoSituacao.length; i++) {
if (!ligacaoEsgotoSituacao[i].equals("")
&& !ligacaoEsgotoSituacao[i].equals(""
+ ConstantesSistema.NUMERO_NAO_INFORMADO)) {
if (i + 1 < ligacaoEsgotoSituacao.length) {
filtroLigacaoEsgotoSituacao
.adicionarParametro(new ParametroSimples(
FiltroLigacaoEsgotoSituacao.ID, ligacaoEsgotoSituacao[i],
ConectorOr.CONECTOR_OR,
ligacaoEsgotoSituacao.length));
} else {
filtroLigacaoEsgotoSituacao
.adicionarParametro(new ParametroSimples(
FiltroLigacaoEsgotoSituacao.ID, ligacaoEsgotoSituacao[i]));
}
}
}
filtroLigacaoEsgotoSituacao.setCampoOrderBy(FiltroLigacaoEsgotoSituacao.DESCRICAO);
Collection colecaoLigacaoEsgotoSituacaoPesquisa = fachada.pesquisar(
filtroLigacaoEsgotoSituacao, LigacaoEsgotoSituacao.class.getName());
if (colecaoLigacaoEsgotoSituacaoPesquisa != null
&& !colecaoLigacaoEsgotoSituacaoPesquisa.isEmpty()) {
colecaoLigacaoEsgotoSituacao.addAll(colecaoLigacaoEsgotoSituacaoPesquisa);
}
} else {
ligacaoEsgotoSituacaoColecao.setDescricao("TODOS");
colecaoLigacaoEsgotoSituacao.add(ligacaoEsgotoSituacaoColecao);
}
sessao.setAttribute("colecaoLigacaoEsgotoSituacaoResultado", colecaoLigacaoEsgotoSituacao);
Categoria categoriaColecao = new Categoria();
categoriaColecao.setId(-1);
Collection colecaoCategoria = new ArrayList();
i = 0;
if (categoria != null) {
categoriaColecao.setDescricao("OP��ES SELECIONADAS");
colecaoCategoria.add(categoriaColecao);
FiltroCategoria filtroCategoria = new FiltroCategoria();
for (i = 0; i < categoria.length; i++) {
if (!categoria[i].equals("")
&& !categoria[i].equals(""
+ ConstantesSistema.NUMERO_NAO_INFORMADO)) {
if (i + 1 < categoria.length) {
filtroCategoria
.adicionarParametro(new ParametroSimples(
FiltroCategoria.CODIGO, categoria[i],
ConectorOr.CONECTOR_OR,
categoria.length));
} else {
filtroCategoria
.adicionarParametro(new ParametroSimples(
FiltroCategoria.CODIGO, categoria[i]));
}
}
}
filtroCategoria.setCampoOrderBy(FiltroCategoria.DESCRICAO);
Collection colecaoCategoriaPesquisa = fachada.pesquisar(
filtroCategoria, Categoria.class.getName());
if (colecaoCategoriaPesquisa != null
&& !colecaoCategoriaPesquisa.isEmpty()) {
colecaoCategoria.addAll(colecaoCategoriaPesquisa);
}
} else {
categoriaColecao.setDescricao("TODOS");
colecaoCategoria.add(categoriaColecao);
}
sessao.setAttribute("colecaoCategoriaResultado", colecaoCategoria);
EsferaPoder esferaPoderColecao = new EsferaPoder();
esferaPoderColecao.setId(-1);
Collection colecaoEsferaPoder = new ArrayList();
i = 0;
if (esferaPoder != null) {
esferaPoderColecao.setDescricao("OP��ES SELECIONADAS");
colecaoEsferaPoder.add(esferaPoderColecao);
FiltroEsferaPoder filtroEsferaPoder = new FiltroEsferaPoder();
for (i = 0; i < esferaPoder.length; i++) {
if (!esferaPoder[i].equals("")
&& !esferaPoder[i].equals(""
+ ConstantesSistema.NUMERO_NAO_INFORMADO)) {
if (i + 1 < esferaPoder.length) {
filtroEsferaPoder
.adicionarParametro(new ParametroSimples(
FiltroEsferaPoder.ID, esferaPoder[i],
ConectorOr.CONECTOR_OR,
esferaPoder.length));
} else {
filtroEsferaPoder
.adicionarParametro(new ParametroSimples(
FiltroEsferaPoder.ID, esferaPoder[i]));
}
}
}
filtroEsferaPoder.setCampoOrderBy(FiltroEsferaPoder.DESCRICAO);
Collection colecaoEsferaPoderPesquisa = fachada.pesquisar(
filtroEsferaPoder, EsferaPoder.class.getName());
if (colecaoEsferaPoderPesquisa != null
&& !colecaoEsferaPoderPesquisa.isEmpty()) {
colecaoEsferaPoder.addAll(colecaoEsferaPoderPesquisa);
}
} else {
esferaPoderColecao.setDescricao("TODOS");
colecaoEsferaPoder.add(esferaPoderColecao);
}
sessao.setAttribute("colecaoEsferaPoderResultado", colecaoEsferaPoder);
return retorno;
}
}