diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmbarqueLocalidadeController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmbarqueLocalidadeController.java index cdfe5c306..bd63dff35 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmbarqueLocalidadeController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmbarqueLocalidadeController.java @@ -1,5 +1,6 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -33,6 +34,7 @@ import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.util.CellRangeAddress; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; import org.springframework.jdbc.datasource.DataSourceUtils; import org.springframework.stereotype.Controller; import org.zkoss.util.resource.Labels; @@ -40,6 +42,7 @@ import org.zkoss.zhtml.Filedownload; import org.zkoss.zhtml.Messagebox; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; import org.zkoss.zul.Datebox; import org.zkoss.zul.ListModelList; import org.zkoss.zul.Timebox; @@ -60,6 +63,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; @Controller("relatorioEmbarqueLocalidadeController") +@Scope("prototype") + public class RelatorioEmbarqueLocalidadeController extends MyGenericForwardComposer { private static final long serialVersionUID = 1L; @@ -80,10 +85,10 @@ public class RelatorioEmbarqueLocalidadeController extends MyGenericForwardCompo private Datebox datFinal; private Timebox horInicial; private Timebox horFinal; - private MyComboboxEstandar cmbEmpresa; - private MyComboboxEstandar cmbOrgaoConcedente; - private MyComboboxEstandar cmbRuta; - private MyComboboxEstandar cmbOrigem; + private Combobox cmbEmpresa; + private Combobox cmbOrgaoConcedente; + private Combobox cmbRuta; + private Combobox cmbOrigem; private List lsEmpresas; private List lsOrgaosConcedentes; @@ -170,6 +175,14 @@ public class RelatorioEmbarqueLocalidadeController extends MyGenericForwardCompo stmt.close(); } catch (Exception e) { + empresa = null; + ruta = null; + orgao = null; + origem = null; + lsEmpresas = empresaService.obtenerTodos(); + lsOrgaosConcedentes = orgaoConcedenteService.obtenerTodos(); + lsOrigens = paradaService.obtenerTodos(); + lsRutas = rutaService.obtenerTodos(); log.error("", e); } finally { try { @@ -293,27 +306,29 @@ public class RelatorioEmbarqueLocalidadeController extends MyGenericForwardCompo } } + private void downloadArquivo(HSSFWorkbook wb) throws Exception { - - - String nomeArquivo = UsuarioLogado.getUsuarioLogado().getNombusuario() + "_" + Calendar.getInstance().getTime().getTime() + "_" + "EmbarqueLocalidade.xls"; - File fNomeArquivo = File.createTempFile(nomeArquivo, ".tmp"); - String contentType = "application/vnd.ms-excel"; - - InputStream isFile = new FileInputStream(fNomeArquivo); - Filedownload.save(isFile, contentType, nomeArquivo); - FileOutputStream stream = new FileOutputStream(fNomeArquivo); - - wb.write(stream); - InputStream is = new FileInputStream(fNomeArquivo); - Filedownload.save(is, contentType, nomeArquivo); - stream.flush(); - stream.close(); + String nomeArquivo = UsuarioLogado.getUsuarioLogado().getNombusuario() + "_" + Calendar.getInstance().getTime().getTime() + "_" + "EmbarqueLocalidade.xls"; + String contentType = "application/vnd.ms-excel"; - if (fNomeArquivo != null) { - fNomeArquivo.delete(); - } + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + wb.write(bos); + + File arquivo = File.createTempFile(nomeArquivo, ".xls"); + + FileOutputStream fos = new FileOutputStream(arquivo); + fos.write(bos.toByteArray()); + fos.close(); + + InputStream isFile = new FileInputStream(arquivo); + nomeArquivo = arquivo.getName(); + + Filedownload.save(isFile, contentType, nomeArquivo); + + if (arquivo != null) { + arquivo.delete(); + } } private void geraCabecalhoTitulo(HSSFSheet sheet1, HSSFWorkbook wb) { @@ -431,18 +446,36 @@ public class RelatorioEmbarqueLocalidadeController extends MyGenericForwardCompo lsOrgaosConcedentes = orgaoConcedenteService.obtenerTodos(); lsOrigens = paradaService.obtenerTodos(); lsRutas = rutaService.obtenerTodos(); + } - public void onChange$cmbOrgaoConcedente(Event ev) throws Exception { - OrgaoConcedente orgao = cmbOrgaoConcedente.getSelectedItem() != null ? (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue() : null; - lsRutas = orgao != null ? rutaService.buscaSomenteRutasFromOrgao(orgao) : rutaService.obtenerTodos(); - cmbRuta.setModel(new ListModelList(lsRutas)); + public void onSelect$cmbOrgaoConcedente(Event ev) throws Exception { + + try { + OrgaoConcedente orgao = cmbOrgaoConcedente.getSelectedItem() != null ? (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue() : null; + if(orgao != null) { + lsRutas = orgao != null ? rutaService.buscaSomenteRutasFromOrgao(orgao) : rutaService.obtenerTodos(); + cmbRuta.setModel(new ListModelList(lsRutas)); + } + } catch (Exception e) { + log.error("", e); + } + } - public void onChange$cmbRuta(Event ev) throws Exception { - Ruta ruta = cmbRuta.getSelectedItem() != null ? (Ruta) cmbRuta.getSelectedItem().getValue() : null; - lsOrigens = ruta != null ? paradaService.obtenerOrigenPorRuta(ruta) : paradaService.obtenerTodos(); - cmbOrigem.setModel(new ListModelList(lsOrigens)); + public void onSelect$cmbRuta(Event ev) throws Exception { + + try { + Ruta ruta = cmbRuta.getSelectedItem() != null ? (Ruta) cmbRuta.getSelectedItem().getValue() : null; + if(ruta != null) { + lsOrigens = ruta != null ? paradaService.obtenerOrigenPorRuta(ruta) : paradaService.obtenerTodos(); + cmbOrigem.setModel(new ListModelList(lsOrigens)); + } + } catch (Exception e) { + log.error("", e); + } + + } protected String getSql(Empresa empresa, String ruta, String orgao, String origem, String horInicio, String horFim) { @@ -522,10 +555,6 @@ public class RelatorioEmbarqueLocalidadeController extends MyGenericForwardCompo this.datFinal = datFinal; } - public MyComboboxEstandar getCmbEmpresa() { - return cmbEmpresa; - } - public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { this.cmbEmpresa = cmbEmpresa; } @@ -570,30 +599,6 @@ public class RelatorioEmbarqueLocalidadeController extends MyGenericForwardCompo this.horFinal = horFinal; } - public MyComboboxEstandar getCmbOrgaoConcedente() { - return cmbOrgaoConcedente; - } - - public void setCmbOrgaoConcedente(MyComboboxEstandar cmbOrgaoConcedente) { - this.cmbOrgaoConcedente = cmbOrgaoConcedente; - } - - public MyComboboxEstandar getCmbRuta() { - return cmbRuta; - } - - public void setCmbRuta(MyComboboxEstandar cmbRuta) { - this.cmbRuta = cmbRuta; - } - - public MyComboboxEstandar getCmbOrigem() { - return cmbOrigem; - } - - public void setCmbOrigem(MyComboboxEstandar cmbOrigem) { - this.cmbOrigem = cmbOrigem; - } - public List getLsOrigens() { return lsOrigens; }