package gcom.gui.micromedicao;
import gcom.fachada.Fachada;
import gcom.faturamento.FaturamentoGrupo;
import gcom.faturamento.FiltroFaturamentoGrupo;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.micromedicao.AlterarDatasLeiturasHelper;
import gcom.util.ConstantesSistema;
import gcom.util.filtro.ParametroSimples;
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;
/**
*
* Action para exibi��o da tela de filtro do alterar datas leituras
*
* @author bruno
* @date 26/02/2009
*/
public class ExibirAlterarDatasLeiturasAction extends GcomAction {
public ActionForward execute(ActionMapping map,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse arg3) throws Exception {
HttpSession sessao = httpServletRequest.getSession(false);
Fachada fachada = Fachada.getInstancia();
AlterarDatasLeiturasActionForm form =
(AlterarDatasLeiturasActionForm) actionForm;
ActionForward retorno = map.findForward("alterarDatasLeituras");
// Pesquisamos os grupos
if ( sessao.getAttribute( "colecaoGrupos" ) == null ){
pesquisarGrupos( sessao );
}
// Verificamos se o grupo foi informado
// Caso positivo, pesquisamos as informa��es
if ( form.getIdGrupo() != null && !form.getIdGrupo().equals( "" ) ){
Collection<AlterarDatasLeiturasHelper> colHelper =
fachada.pesquisarDadosAlterarGruposFaturamento(
Integer.parseInt( form.getIdGrupo() ) );
if ( colHelper != null && colHelper.size() > 0 ){
sessao.setAttribute( "colecaoHelper", colHelper );
} else {
sessao.removeAttribute( "colecaoHelper" );
}
}
form.setArrDtAnterior( null );
form.setArrDtAtual( null );
return retorno;
}
/**
*
* [UC0889] Alterar Datas das Leituras
* Pesquisamos todos os grupos de faturamento ativos e
* retornamos � requisi��o
*
* @author bruno
* @date 26/02/2009
*
* @param httpServletRequest
*/
private void pesquisarGrupos( HttpSession sessao ){
Fachada fachada = Fachada.getInstancia();
FiltroFaturamentoGrupo filtro = new FiltroFaturamentoGrupo();
filtro.adicionarParametro( new ParametroSimples(
FiltroFaturamentoGrupo.INDICADOR_USO, ConstantesSistema.SIM ) );
filtro.setCampoOrderBy( "descricao" );
Collection<FaturamentoGrupo> colFaturamentoGrupo =
fachada.pesquisar( filtro, FaturamentoGrupo.class.getName() );
// [FS0001] - Verificar existencia dos dados
if ( colFaturamentoGrupo == null || colFaturamentoGrupo.size() == 0 ){
throw new ActionServletException("atencao.entidade.inexistente",null,"Faturamento Grupo");
}
sessao.setAttribute( "colecaoGrupos", colFaturamentoGrupo );
}
}