package gcom.relatorio.big; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.relatorio.big.RelatorioBIGActionForm; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.Util; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionForm; public class RelatorioBIGBO { private RelatorioBIGActionForm form; private String mesAno; private Usuario usuario; public RelatorioBIGBO(ActionForm actionForm, HttpServletRequest httpServletRequest){ this.form = (RelatorioBIGActionForm) actionForm; this.usuario = (Usuario) httpServletRequest.getSession(false).getAttribute("usuarioLogado"); this.mesAno = (String) form.getMesAno(); } public RelatorioBIG getRelatorioBIG() { if(getAnoMesReferencia().equals("")){ throw new ActionServletException("atencao.filtro.nenhum_parametro_informado"); } RelatorioBIG relatorioBIG = new RelatorioBIG(usuario); relatorioBIG.addParametro("colecaoDadosBIG", getColecaoDadosBIG()); relatorioBIG.addParametro("mesAno", Util.formatarAnoMesParaMesAno(getAnoMesReferencia())); return relatorioBIG; } public String getAnoMesReferencia() { String anoMes = ""; if (mesAno != null && !mesAno.trim().equals("")) { anoMes = mesAno.substring(3, 7) + mesAno.substring(0, 2); } return anoMes; } @SuppressWarnings("rawtypes") private Collection getColecaoDadosBIG() { Collection colecaoDadosBIG = Fachada.getInstancia().pesquisarDadosRelatorioBIG( Integer.parseInt(getAnoMesReferencia())); if(colecaoDadosBIG.isEmpty()){ throw new ActionServletException("atencao.relatorio.vazio"); } return colecaoDadosBIG; } }