package gcom.micromedicao;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.gui.micromedicao.ConsultarArquivoTextoLeituraActionForm;
import gcom.micromedicao.bean.ConsultarArquivoTextoRoteiroEmpresaHelper;
import gcom.seguranca.acesso.PermissaoEspecial;
import gcom.seguranca.acesso.usuario.Usuario;
import gcom.util.ConstantesSistema;
import gcom.util.Util;
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;
/**
* Descri��o da classe
*
* @author Thiago Ten�rio e Thiago Nascimento
* @date 05/08/2006
*/
public class ConsultarArquivoTextoLeituraAction extends GcomAction {
/**
* Este caso de uso permite Pesquisar um Tipo de Servi�o
*
* [UC0437] Pesquisar Tipo de Servi�o de Refer�ncia
*
*
* @author Thiago Ten�rio e Thiago Nascimento
* @date 31/07/2006
*
* Yara T. Souza
* 19/12/2008
*
*
*
* @param actionMapping
* @param actionForm
* @param httpServletRequest
* @param httpServletResponse
* @return
*/
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping
.findForward("consultarArquivoTextoLeitura");
HttpSession sessao = httpServletRequest.getSession(false);
ConsultarArquivoTextoLeituraActionForm consultarArquivoTextoLeituraActionForm = (ConsultarArquivoTextoLeituraActionForm) actionForm;
ConsultarArquivoTextoRoteiroEmpresaHelper consultarArquivoTextoRoteiroEmpresaHelper = new ConsultarArquivoTextoRoteiroEmpresaHelper();
boolean peloMenosUmParametroInformado = false;
/**
* CRC775
* autor: Yara T. Souza
* data: 19/12/2008
* Comentei todos os objetos que antes era setados na sess�o e deixei apenas no FORM.
*/
Usuario usuarioLogado = (Usuario) sessao.getAttribute("usuarioLogado");
sessao.removeAttribute("permissao");
if (usuarioLogado.getEmpresa().getIndicadorEmpresaPrincipal().equals(
new Short("1"))) {
sessao.setAttribute("permissao", "1");
} else {
sessao.setAttribute("permissao", "2");
}
//EMPRESA
String empresaID = consultarArquivoTextoLeituraActionForm.getEmpresaID();
if (empresaID != null && !empresaID.trim().equalsIgnoreCase("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) {
peloMenosUmParametroInformado = true;
consultarArquivoTextoRoteiroEmpresaHelper.setIdEmpresa(empresaID);
}
//SERVICO_TIPO_CELULAR
String servicoTipoCelular = consultarArquivoTextoLeituraActionForm.getServicoTipoCelular();
if(servicoTipoCelular != null && !servicoTipoCelular.trim().equalsIgnoreCase("")){
peloMenosUmParametroInformado = true;
consultarArquivoTextoRoteiroEmpresaHelper.setIdServicoTipoCelular(servicoTipoCelular);
}
//FATURAMENTO_GRUPO
String grupoFaturamentoID = consultarArquivoTextoLeituraActionForm.getGrupoFaturamentoID();
if (grupoFaturamentoID != null && !grupoFaturamentoID.trim().equalsIgnoreCase("" + ConstantesSistema.NUMERO_NAO_INFORMADO) &&
!grupoFaturamentoID.equals("-1") && !grupoFaturamentoID.equals("")) {
peloMenosUmParametroInformado = true;
consultarArquivoTextoRoteiroEmpresaHelper.setIdFaturamentoGrupo(grupoFaturamentoID);
}
//ANO MES REFERENCIA
String mesAno = consultarArquivoTextoLeituraActionForm.getMesAno();
if (mesAno != null && !mesAno.trim().equals("")) {
peloMenosUmParametroInformado = true;
consultarArquivoTextoRoteiroEmpresaHelper.setAnoMesReferencia((Util.formatarMesAnoComBarraParaAnoMes(mesAno)).toString());
}
//SITUACAO_TRANSMISSAO_LEITURA
String situaTransmLeitura = consultarArquivoTextoLeituraActionForm.getSituaTransmLeitura();
if (situaTransmLeitura != null && !situaTransmLeitura.trim().equalsIgnoreCase("")) {
peloMenosUmParametroInformado = true;
consultarArquivoTextoRoteiroEmpresaHelper.setIdSituacaoTransmissaoLeitura(situaTransmLeitura);
}
// filtro por localidade
String localidadeID = consultarArquivoTextoLeituraActionForm.getIdLocalidade();
if(localidadeID != null && !localidadeID.trim().equalsIgnoreCase(
"" + ConstantesSistema.NUMERO_NAO_INFORMADO) && !localidadeID.equals("")){
peloMenosUmParametroInformado = true;
consultarArquivoTextoRoteiroEmpresaHelper.setIdLocalidade(localidadeID);
}
//LEITURISTA
String leiturista = consultarArquivoTextoLeituraActionForm.getLeituristaID();
if (leiturista != null && !leiturista.equals("") && !leiturista.equals("-1")) {
peloMenosUmParametroInformado = true;
consultarArquivoTextoRoteiroEmpresaHelper.setIdLeiturista(leiturista);
}
// Erro caso o usu�rio mandou Pesquisar sem nenhum par�metro
if (!peloMenosUmParametroInformado) {
throw new ActionServletException("atencao.filtro.nenhum_parametro_informado");
}
Fachada fachada = Fachada.getInstancia();
//1� Passo - Pegar o total de registros atrav�s de um count da consulta que aparecer� na tela
/*Integer totalRegistros = fachada.filtrarArquivoTextoRoteiroEmpresaCount
(consultarArquivoTextoRoteiroEmpresaHelper);*/
//2� Passo - Chamar a fun��o de Pagina��o passando o total de registros
//retorno = this.controlarPaginacao(httpServletRequest, retorno, totalRegistros);
/*
* 3� Passo - Obter a cole��o da consulta que aparecer� na tela passando
* o numero de paginas da pesquisa que est� no request
*/
Collection colecaoArquivoTextoRoteiroEmpresa = fachada.filtrarArquivoTextoRoteiroEmpresaParaPaginacao(
consultarArquivoTextoRoteiroEmpresaHelper, ((Integer) httpServletRequest.getAttribute("numeroPaginasPesquisa")));
sessao.setAttribute("colecaoArquivoTextoRoteiroEmpresa", colecaoArquivoTextoRoteiroEmpresa);
if(!colecaoArquivoTextoRoteiroEmpresa.isEmpty()){
sessao.setAttribute("achou","1");
sessao.setAttribute("qtdArquivos", colecaoArquivoTextoRoteiroEmpresa.size());
}else{
sessao.setAttribute("achou","2");
sessao.setAttribute("qtdArquivos", new Integer(0));
}
if ( fachada.verificarPermissaoEspecial( PermissaoEspecial.GERAR_ARQUIVO_TEXTO_IMOVEIS_NAO_ENVIADOS, usuarioLogado ) ){
httpServletRequest.setAttribute( "permissaoRegerarArquivoImoveisNaoEnviados", "SIM" );
} else {
httpServletRequest.setAttribute( "permissaoRegerarArquivoImoveisNaoEnviados", "NAO" );
}
sessao.removeAttribute("grupoFaturamentoID");
return retorno;
}
}