fixes bug #7384
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@55698 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
eee4ed5f91
commit
f7a323940f
|
@ -1,17 +1,8 @@
|
||||||
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
|
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
|
||||||
import java.io.BufferedOutputStream;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.zip.ZipEntry;
|
|
||||||
import java.util.zip.ZipOutputStream;
|
|
||||||
|
|
||||||
import javax.activation.MimetypesFileTypeMap;
|
import javax.activation.MimetypesFileTypeMap;
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
@ -27,9 +18,7 @@ import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zul.Datebox;
|
import org.zkoss.zul.Datebox;
|
||||||
import org.zkoss.zul.Filedownload;
|
import org.zkoss.zul.Filedownload;
|
||||||
|
|
||||||
import com.rjconsultores.integracaoreceitadespesa.Arquivo;
|
import com.rjconsultores.integracaoreceitadespesa.BGMApplication;
|
||||||
import com.rjconsultores.integracaoreceitadespesa.dao.Totalbus;
|
|
||||||
import com.rjconsultores.integracaoreceitadespesa.entidades.DespesaReceita;
|
|
||||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||||
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEmpresa;
|
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEmpresa;
|
||||||
|
@ -42,7 +31,6 @@ public class RelatorioArquivoBGMController extends MyGenericForwardComposer {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private static Logger log = Logger.getLogger(RelatorioArquivoBGMController.class);
|
private static Logger log = Logger.getLogger(RelatorioArquivoBGMController.class);
|
||||||
private static final int TAMANHO_BUFFER = 4096; // 4kb
|
|
||||||
|
|
||||||
private MyComboboxEmpresa cmbEmpresa;
|
private MyComboboxEmpresa cmbEmpresa;
|
||||||
private MyComboboxPuntoVenta cmbPuntoVenta;
|
private MyComboboxPuntoVenta cmbPuntoVenta;
|
||||||
|
@ -65,6 +53,13 @@ public class RelatorioArquivoBGMController extends MyGenericForwardComposer {
|
||||||
Messagebox.OK, Messagebox.INFORMATION);
|
Messagebox.OK, Messagebox.INFORMATION);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cmbEmpresa.getSelectedItem() == null){
|
||||||
|
Messagebox.show(Labels.getLabel("relatorioArquivoBGMController.msg.erro.empresa"),
|
||||||
|
Labels.getLabel("relatorioArquivoBGMController.window.title"),
|
||||||
|
Messagebox.OK, Messagebox.INFORMATION);
|
||||||
|
return;
|
||||||
|
}
|
||||||
executarRelatorio();
|
executarRelatorio();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,46 +68,14 @@ public class RelatorioArquivoBGMController extends MyGenericForwardComposer {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private void executarRelatorio() throws Exception {
|
private void executarRelatorio() throws Exception {
|
||||||
excluirArquivosZip();
|
Integer puntoVentaId = ((PuntoVenta)cmbPuntoVenta.getSelectedItem().getValue()).getPuntoventaId();
|
||||||
List<File> files = new ArrayList<File>();
|
Integer empresaId = ((Empresa)cmbEmpresa.getSelectedItem().getValue()).getEmpresaId();
|
||||||
Calendar cal = Calendar.getInstance();
|
Connection con = dataSource.getConnection();
|
||||||
// Seta primeiro dia da iteração
|
String fileZip = BGMApplication.getInstance().executaExportacao(datInicial.getValue(), datFinal.getValue(),
|
||||||
cal.setTime(datInicial.getValue());
|
System.getProperty("jboss.server.log.dir") , empresaId, puntoVentaId, con);
|
||||||
Calendar calFinal = Calendar.getInstance();
|
|
||||||
calFinal.setTime(datFinal.getValue());
|
|
||||||
|
|
||||||
Calendar cf = Calendar.getInstance();
|
|
||||||
cf.setTime(datFinal.getValue());
|
|
||||||
cf.add(Calendar.DATE, 1);
|
|
||||||
// seta dia e mês finais para limite da iteração
|
|
||||||
int diaFinal = calFinal.get(Calendar.DAY_OF_MONTH);
|
|
||||||
int mesFinal = calFinal.get(Calendar.MONTH);
|
|
||||||
Connection con = null;
|
|
||||||
try{
|
try{
|
||||||
con = dataSource.getConnection();
|
FileInputStream inputStream;
|
||||||
|
|
||||||
while (cal.before(cf)) {
|
|
||||||
String fileName = System.getProperty("jboss.server.log.dir") + File.separator + "BGM_" + cmbEmpresa.getSelectedItem() == null ? "" : ((Empresa)cmbEmpresa.getSelectedItem().getValue()).getEmpresaId() + "-" + cal.get(Calendar.YEAR) + "" + DespesaReceita.lpad(Integer.toString(cal.get(Calendar.MONTH) + 1), "0", 2) + "" + DespesaReceita.lpad(Integer.toString(cal.get(Calendar.DAY_OF_MONTH)), "0", 2) + ".txt";
|
|
||||||
File file = new File(fileName);
|
|
||||||
|
|
||||||
Totalbus totalbus = new Totalbus(con);
|
|
||||||
|
|
||||||
log.debug("gerando arquivo...");
|
|
||||||
Arquivo.GravaArquivo(file.getAbsolutePath(), totalbus.getDespesasReceitas(
|
|
||||||
cmbPuntoVenta.getSelectedItem() == null ? null : ((PuntoVenta)cmbPuntoVenta.getSelectedItem().getValue()).getPuntoventaId(),
|
|
||||||
cmbEmpresa.getSelectedItem() == null ? null : ((Empresa)cmbEmpresa.getSelectedItem().getValue()).getEmpresaId(),
|
|
||||||
cal.getTime()));
|
|
||||||
// adiciona um dia para iteração
|
|
||||||
cal.add(Calendar.DAY_OF_MONTH, 1);
|
|
||||||
files.add(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
String fileZip = System.getProperty("jboss.server.log.dir") + File.separator + "ArquivosBGM.zip";
|
|
||||||
log.debug("nome arquivo: " + fileZip);
|
|
||||||
FileInputStream inputStream;
|
|
||||||
|
|
||||||
compactarArquivos(files, fileZip);
|
|
||||||
File filez = new File(fileZip);
|
File filez = new File(fileZip);
|
||||||
log.info(filez.exists());
|
log.info(filez.exists());
|
||||||
if (filez.exists()) {
|
if (filez.exists()) {
|
||||||
|
@ -127,81 +90,7 @@ public class RelatorioArquivoBGMController extends MyGenericForwardComposer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void compactarArquivo(String arqSaida,String arqEntrada) throws IOException{
|
|
||||||
int cont;
|
|
||||||
byte[] dados = new byte[TAMANHO_BUFFER];
|
|
||||||
BufferedInputStream origem = null;
|
|
||||||
FileInputStream streamDeEntrada = null;
|
|
||||||
FileOutputStream destino = null;
|
|
||||||
ZipOutputStream saida = null;
|
|
||||||
ZipEntry entry = null;
|
|
||||||
try {
|
|
||||||
destino = new FileOutputStream(new File(arqSaida));
|
|
||||||
saida = new ZipOutputStream(new BufferedOutputStream(destino));
|
|
||||||
File file = new File(arqEntrada);
|
|
||||||
streamDeEntrada = new FileInputStream(file);
|
|
||||||
origem = new BufferedInputStream(streamDeEntrada, TAMANHO_BUFFER);
|
|
||||||
entry = new ZipEntry(file.getName());
|
|
||||||
saida.putNextEntry(entry);
|
|
||||||
while((cont = origem.read(dados, 0, TAMANHO_BUFFER)) != -1) {
|
|
||||||
saida.write(dados, 0, cont);
|
|
||||||
}
|
|
||||||
origem.close();
|
|
||||||
saida.close();
|
|
||||||
} catch(IOException e) {
|
|
||||||
log.error(e.getMessage());
|
|
||||||
throw new IOException(e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void compactarArquivos(List<File> arquivosEOuPastas, String arquivoDeSaida){
|
|
||||||
System.out.println(arquivoDeSaida);
|
|
||||||
log.debug(arquivoDeSaida);
|
|
||||||
|
|
||||||
// Create a buffer for reading the files
|
|
||||||
byte[] buf = new byte[1024];
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Create the ZIP file
|
|
||||||
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(arquivoDeSaida));
|
|
||||||
|
|
||||||
// Compress the files
|
|
||||||
for (File f : arquivosEOuPastas) {
|
|
||||||
FileInputStream in = new FileInputStream(f.getPath());
|
|
||||||
|
|
||||||
// Add ZIP entry to output stream.
|
|
||||||
out.putNextEntry(new ZipEntry(f.getName()));
|
|
||||||
System.out.println(f.getPath());
|
|
||||||
// Transfer bytes from the file to the ZIP file
|
|
||||||
int len;
|
|
||||||
while ((len = in.read(buf)) > 0) {
|
|
||||||
out.write(buf, 0, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Complete the entry
|
|
||||||
out.closeEntry();
|
|
||||||
in.close();
|
|
||||||
f.delete();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Complete the ZIP file
|
|
||||||
out.close();
|
|
||||||
} catch (IOException e) {
|
|
||||||
log.error(e.getMessage(),e);
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void excluirArquivosZip(){
|
|
||||||
File pasta = new File(System.getProperty("jboss.server.log.dir"));
|
|
||||||
File[] arquivos = pasta.listFiles();
|
|
||||||
|
|
||||||
for(File arquivo : arquivos) {
|
|
||||||
if(arquivo.getName().endsWith("zip")) {
|
|
||||||
arquivo.delete();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public MyComboboxEmpresa getCmbEmpresa() {
|
public MyComboboxEmpresa getCmbEmpresa() {
|
||||||
return cmbEmpresa;
|
return cmbEmpresa;
|
||||||
|
|
|
@ -6337,6 +6337,7 @@ relatorioArquivoBGMController.lbDataFin.value = Data Final
|
||||||
relatorioArquivoBGMController.lbEmpresa.value = Empresa
|
relatorioArquivoBGMController.lbEmpresa.value = Empresa
|
||||||
relatorioArquivoBGMController.lbPuntoVenta.value = Agência
|
relatorioArquivoBGMController.lbPuntoVenta.value = Agência
|
||||||
relatorioArquivoBGMController.msg.erro.puntoventa = O Campo Agência é obrigatório!
|
relatorioArquivoBGMController.msg.erro.puntoventa = O Campo Agência é obrigatório!
|
||||||
|
relatorioArquivoBGMController.msg.erro.empresa = O Campo Empresa é obrigatório!
|
||||||
|
|
||||||
# Recebimento Malote
|
# Recebimento Malote
|
||||||
recebimentoMaloteController.window.title = Recebimento Malote
|
recebimentoMaloteController.window.title = Recebimento Malote
|
||||||
|
|
|
@ -6486,6 +6486,7 @@ relatorioArquivoBGMController.lbDataFin.value = Data Final
|
||||||
relatorioArquivoBGMController.lbEmpresa.value = Empresa
|
relatorioArquivoBGMController.lbEmpresa.value = Empresa
|
||||||
relatorioArquivoBGMController.lbPuntoVenta.value = Agência
|
relatorioArquivoBGMController.lbPuntoVenta.value = Agência
|
||||||
relatorioArquivoBGMController.msg.erro.puntoventa = O Campo Agência é obrigatório!
|
relatorioArquivoBGMController.msg.erro.puntoventa = O Campo Agência é obrigatório!
|
||||||
|
relatorioArquivoBGMController.msg.erro.empresa = O Campo Empresa é obrigatório!
|
||||||
|
|
||||||
# Recebimento Malote
|
# Recebimento Malote
|
||||||
recebimentoMaloteController.window.title = Recebimento Malote
|
recebimentoMaloteController.window.title = Recebimento Malote
|
||||||
|
|
Loading…
Reference in New Issue