package gcom.relatorio.bo.faturamento; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.relatorio.faturamento.RelatorioContasRetidasActionForm; import gcom.relatorio.faturamento.RelatorioContasRetidas; import gcom.relatorio.faturamento.RelatorioContasRetidasHelper; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.Util; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionForm; public class RelatorioContasRetidasBO { private RelatorioContasRetidasActionForm form; private String idFaturamentoGrupo; private String mesAno; private Usuario usuario; private String tipoRelatorio; public RelatorioContasRetidasBO(ActionForm actionForm, HttpServletRequest httpServletRequest){ this.form = (RelatorioContasRetidasActionForm) actionForm; this.idFaturamentoGrupo = (String) form.getIdGrupoFaturamento(); this.usuario = (Usuario)(httpServletRequest.getSession(false)).getAttribute("usuarioLogado"); this.tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); this.mesAno = (String)form.getMesAno(); } public RelatorioContasRetidas getRelatorioContasRetidas() { if(getAnoMesReferencia().equals("")){ throw new ActionServletException("atencao.filtro.nenhum_parametro_informado"); } RelatorioContasRetidas relatorioContasRetidas = new RelatorioContasRetidas(usuario); relatorioContasRetidas.addParametro("colecaoContasRetidas", getColecaoContasRetidas()); relatorioContasRetidas.addParametro("mesAno", Util.formatarAnoMesParaMesAno(getAnoMesReferencia())); relatorioContasRetidas.addParametro("idGrupoFaturamento", String.valueOf(idFaturamentoGrupo)); relatorioContasRetidas.addParametro("tipoFormatoRelatorio", getTipoFormatoRelatorio()); return relatorioContasRetidas; } public String getAnoMesReferencia() { String anoMes = ""; if (possuiIdFaturamento() && possuiMesAno()) { anoMes = mesAno.substring(3, 7) + mesAno.substring(0, 2); } return anoMes; } public String getMesAno() { return mesAno; } public Usuario getUsuario() { return usuario; } public String getTipoRelatorio() { return tipoRelatorio; } public void setTipoRelatorio(String tipoRelatorio) { this.tipoRelatorio = tipoRelatorio; } public String getIdFaturamentoGrupo() { return idFaturamentoGrupo; } private Collection<RelatorioContasRetidasHelper> getColecaoContasRetidas() { Collection<RelatorioContasRetidasHelper> colecaoContasRetidas = getContasRetidas(); if(colecaoContasRetidas.isEmpty()){ throw new ActionServletException("atencao.relatorio.vazio"); } return colecaoContasRetidas; } private int getTipoFormatoRelatorio(){ if (tipoRelatorio == null) { tipoRelatorio = TarefaRelatorio.TIPO_PDF + ""; } return Integer.parseInt(tipoRelatorio); } private Collection<RelatorioContasRetidasHelper> getContasRetidas() { return Fachada.getInstancia().pesquisarDadosRelatorioContasRetidas(Integer.parseInt(getAnoMesReferencia()), Integer.valueOf(getIdFaturamentoGrupo())); } private boolean possuiIdFaturamento() { return idFaturamentoGrupo != null && !idFaturamentoGrupo.trim().equals("") && !idFaturamentoGrupo.trim().equals("-1"); } private boolean possuiMesAno(){ return mesAno != null && !mesAno.trim().equals(""); } }