package gcom.gui.portal; import java.io.IOException; import java.io.OutputStream; import java.util.Collection; import gcom.cadastro.sistemaparametro.FiltroSistemaParametro; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; 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; /** * Classe Respons�vel por exibir Canais de Atendimento * * @author Erivan Sousa * @date 28/06/2011 */ public class ExibirInformacoesPortalCompesaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ExibirInformacoesPortalCompesaActionForm exibirInformacoesPortalCompesaActionForm = (ExibirInformacoesPortalCompesaActionForm) actionForm; String retorno = "exibirInformacoesPortalCompesaAction"; String method = httpServletRequest.getParameter("method"); String modo = httpServletRequest.getParameter("modo"); if (method == null) { method = ""; } if (method.equalsIgnoreCase("tarifaSocial")) { retorno = "exibirInformacoesTarifaSocialPortalCompesaAction"; httpServletRequest.setAttribute("voltarInformacoes", true); } else if (method.equalsIgnoreCase("negociacaoDebitos")) { retorno = "exibirInformacoesNegociacaoDebitosPortalCompesaAction"; httpServletRequest.setAttribute("voltarInformacoes", true); } else if (method.equalsIgnoreCase("normas")) { retorno = "exibirNormasInstalacaoPortalCompesaAction"; httpServletRequest.setAttribute("voltarInformacoes", true); } else if (method.equalsIgnoreCase("calendarioAbastecimento")) { retorno = "exibirCalendarioAbastecimentoPortalCompesaAction"; httpServletRequest.setAttribute("voltarInformacoes", true); } FiltroSistemaParametro filtroSistemaParametro = new FiltroSistemaParametro(); Collection colecaoSistemaParametro = this.getFachada().pesquisar( filtroSistemaParametro, SistemaParametro.class.getName()); SistemaParametro sistemaParametro = (SistemaParametro) colecaoSistemaParametro .iterator().next(); this.montarForm(exibirInformacoesPortalCompesaActionForm, sistemaParametro); this.setarDownloadsLoja(sistemaParametro, httpServletRequest); if(modo != null && !modo.equals("")){ if(modo.equals("verLeiIndividualizacao")){ this.retornaArquivo("leiNormaMedicao", httpServletResponse, sistemaParametro); } if(modo.equals("verNormaCO")){ this.retornaArquivo("normaCO", httpServletResponse, sistemaParametro); } if(modo.equals("verNormaCM")){ this.retornaArquivo("normaCM", httpServletResponse, sistemaParametro); } } return actionMapping.findForward(retorno); } private void retornaArquivo(String arquivo, HttpServletResponse httpServletResponse, SistemaParametro sistemaParametro){ String mimeType = ConstantesSistema.CONTENT_TYPE_PDF; OutputStream out = null; byte[] file = null; if(arquivo.equalsIgnoreCase("leiNormaMedicao")){ file = sistemaParametro.getArquivoLeiIndividualizacao(); } if(arquivo.equalsIgnoreCase("normaCO")){ file = sistemaParametro.getArquivoNormaCO(); } if(arquivo.equalsIgnoreCase("normaCM")){ file = sistemaParametro.getArquivoNormaCM(); } try { httpServletResponse.setContentType(mimeType); out = httpServletResponse.getOutputStream(); out.write(file); out.flush(); out.close(); } catch (IOException e) { throw new ActionServletException("erro.sistema", e); } } //seta os dados do form private void montarForm(ExibirInformacoesPortalCompesaActionForm exibirInformacoesPortalCompesaActionForm, SistemaParametro sistemaParametro){ //Descrissao Lei Individualiza��o if(sistemaParametro.getDescricaoLeiIndividualizacao() != null && !sistemaParametro.getDescricaoLeiIndividualizacao().equals("")){ exibirInformacoesPortalCompesaActionForm.setDescrissaoLeiIndividualizacao( sistemaParametro.getDescricaoLeiIndividualizacao()); } //Descrissao norma CM if(sistemaParametro.getDescricaoNormaCM() != null && !sistemaParametro.getDescricaoNormaCM().equals("")){ exibirInformacoesPortalCompesaActionForm.setDescrissaoNormaCM( sistemaParametro.getDescricaoNormaCM()); } //Descrissao Norma CO if(sistemaParametro.getDescricaoNormaCO() != null && !sistemaParametro.getDescricaoNormaCO().equals("")){ exibirInformacoesPortalCompesaActionForm.setDescrissaoNormaCO( sistemaParametro.getDescricaoNormaCO()); } } //Verifica a existencias dos arquivos no banco private void setarDownloadsLoja(SistemaParametro sistemaParametro, HttpServletRequest httpServletRequest ){ if(sistemaParametro.getArquivoLeiIndividualizacao() != null && sistemaParametro.getArquivoLeiIndividualizacao().length != 0){ httpServletRequest.setAttribute("arquivoLeiNormaMedicao", true); }else{ httpServletRequest.removeAttribute("arquivoLeiNormaMedicao"); } if(sistemaParametro.getArquivoNormaCM() != null && sistemaParametro.getArquivoNormaCM().length != 0){ httpServletRequest.setAttribute("arquivoNormaCM", true); }else{ httpServletRequest.removeAttribute("arquivoNormaCM"); } if(sistemaParametro.getArquivoNormaCO() != null && sistemaParametro.getArquivoNormaCO().length != 0){ httpServletRequest.setAttribute("arquivoNormaCO", true); }else{ httpServletRequest.removeAttribute("arquivoNormaCO"); } } }