package gcom.gui.cadastro.atualizacaocadastral;
import gcom.cadastro.ArquivoTextoAtualizacaoCadastral;
import gcom.cadastro.atualizacaocadastral.FiltroArquivoTextoAtualizacaoCadastral;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.util.ConstantesSistema;
import gcom.util.filtro.ComparacaoTexto;
import gcom.util.filtro.ParametroSimples;
import java.util.Collection;
import java.util.Map;
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 PesquisarArquivoTextoAtualizacaoCadastralAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping.findForward("retornarArquivoTextoAtualizacaoCadastralPesquisar");
//Mudar isso quando tiver esquema de seguran�a
HttpSession sessao = httpServletRequest.getSession(false);
PesquisarArquivoTextoAtualizacaoCadastralActionForm pesquisarActionForm = (PesquisarArquivoTextoAtualizacaoCadastralActionForm) actionForm;
//cria variaveis
String descricaoArquivo = pesquisarActionForm.getDescricao();
String idLeiturista = pesquisarActionForm.getIdLeiturista();
String idSituacaoTransmissao = pesquisarActionForm.getIdSituacaoTransmissao();
boolean peloMenosUmParametroInformado = false;
//Obt�m a inst�ncia da Fachada
Fachada fachada = Fachada.getInstancia();
FiltroArquivoTextoAtualizacaoCadastral filtroArquivoTextoAtualizacaoCadastral = new FiltroArquivoTextoAtualizacaoCadastral(FiltroArquivoTextoAtualizacaoCadastral.ID);
//Objetos que ser�o retornados pelo Hibernate
filtroArquivoTextoAtualizacaoCadastral.adicionarCaminhoParaCarregamentoEntidade("situacaoTransmissaoLeitura");
if (descricaoArquivo != null && !descricaoArquivo.trim().equalsIgnoreCase("")) {
filtroArquivoTextoAtualizacaoCadastral.adicionarParametro(
new ComparacaoTexto(FiltroArquivoTextoAtualizacaoCadastral.DESCRICAO, descricaoArquivo));
peloMenosUmParametroInformado = true;
}
if (idLeiturista != null && !idLeiturista.trim().equalsIgnoreCase("")) {
filtroArquivoTextoAtualizacaoCadastral.adicionarParametro(new ParametroSimples(
FiltroArquivoTextoAtualizacaoCadastral.LEITURISTA_ID, new Integer(idLeiturista)));
peloMenosUmParametroInformado = true;
}
if (idSituacaoTransmissao != null && !idSituacaoTransmissao.trim().equalsIgnoreCase("")
&& !idSituacaoTransmissao.trim().equalsIgnoreCase(ConstantesSistema.NUMERO_NAO_INFORMADO + "")) {
filtroArquivoTextoAtualizacaoCadastral.adicionarParametro(new ParametroSimples(
FiltroArquivoTextoAtualizacaoCadastral.SITUACAO_TRANSMISSAO_LEITURA_ID, new Integer(idSituacaoTransmissao)));
peloMenosUmParametroInformado = true;
}
if (!peloMenosUmParametroInformado) {
throw new ActionServletException(
"atencao.filtro.nenhum_parametro_informado");
}
Collection arquivosTextoAtualizacaoCadastral = fachada.pesquisar(filtroArquivoTextoAtualizacaoCadastral,
ArquivoTextoAtualizacaoCadastral.class.getName());
if (arquivosTextoAtualizacaoCadastral != null && !arquivosTextoAtualizacaoCadastral.isEmpty()) {
// Aciona o controle de pagina��o para que sejam pesquisados apenas
// os registros que aparecem na p�gina
Map resultado = controlarPaginacao(httpServletRequest, retorno,
filtroArquivoTextoAtualizacaoCadastral, ArquivoTextoAtualizacaoCadastral.class.getName());
arquivosTextoAtualizacaoCadastral = (Collection) resultado.get("colecaoRetorno");
retorno = (ActionForward) resultado.get("destinoActionForward");
sessao.setAttribute("arquivosTextoAtualizacaoCadastral", arquivosTextoAtualizacaoCadastral);
} else {
throw new ActionServletException(
"atencao.pesquisa.nenhumresultado", null, "Arquivo");
}
return retorno;
}
}