bug#22266

dev: Valdevir
qua: 

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@108245 d1611594-4594-4d17-8e1d-87c2c4800839
master
celio 2021-08-11 12:46:13 +00:00
parent ffa367f964
commit 09a8218109
1 changed files with 145 additions and 101 deletions

View File

@ -6,7 +6,9 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.ArrayList;
@ -25,6 +27,8 @@ import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
@ -87,6 +91,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
public class TarifaEscalaContorller extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
@Autowired
private TarifaService tarifaService;
@Autowired
@ -113,6 +118,7 @@ public class TarifaEscalaContorller extends MyGenericForwardComposer {
private CiudadService ciudadService;
@Autowired
private MarcaClaseServicioService marcaClaseServicioService;
private List<Marca> lsMarcas;
private List<ClaseServicio> lsClaseServico;
private List<Moneda> lsMonedas;
@ -134,7 +140,9 @@ public class TarifaEscalaContorller extends MyGenericForwardComposer {
private Map<String, Tarifa> mapTramoTarifaNovo;
private Map<Tramo, Decimalbox> mapTarifaTextbox;
private List<List> lsGridRender;
private static Logger log = Logger.getLogger(TarifaEscalaContorller.class);
public List<ClaseServicio> getLsClaseServico() {
return lsClaseServico;
@ -804,107 +812,7 @@ public class TarifaEscalaContorller extends MyGenericForwardComposer {
public void onClick$btnExportarExcel(Event ev) throws InterruptedException {
validacion();
try {
HSSFWorkbook wb = new HSSFWorkbook();
// fonte em negrito:
HSSFFont fonte = wb.createFont();
fonte.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
HSSFCellStyle estilo = wb.createCellStyle();
estilo.setFont(fonte);
HSSFSheet sheet1 = wb.createSheet(Labels.getLabel("tarifaEscalaContorller.window.title"));
// cabeçalho:
VigenciaTarifa vt = (VigenciaTarifa) (cmbVigencia.getSelectedItem() != null ? cmbVigencia.getSelectedItem().getValue() : null);
if (vt != null) {
HSSFRow rowVigencia = sheet1.createRow(0);
rowVigencia.createCell(0).setCellValue(
Labels.getLabel("tarifaEscalaContorller.lhFeciniciovigencia.label") + ": " + vt.toString());
} else {
HSSFRow rowVigencia = sheet1.createRow(0);
rowVigencia.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhFeciniciovigencia.label") + ": ");
}
Moneda moneda = (Moneda) (cmbMoneda.getSelectedItem() != null ? cmbMoneda.getSelectedItem().getValue() : null);
if (moneda != null) {
HSSFRow rowMoneda = sheet1.createRow(1);
rowMoneda.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMoneda.label") + ": " + moneda.toString());
} else {
HSSFRow rowMoneda = sheet1.createRow(1);
rowMoneda.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMoneda.label") + ": ");
}
Ruta ruta = (Ruta) (cmbRuta.getSelectedItem() != null ? cmbRuta.getSelectedItem().getValue() : null);
if (ruta != null) {
HSSFRow rowRuta = sheet1.createRow(2);
rowRuta.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhRuta.label") + ": " + ruta.toString());
} else {
HSSFRow rowRuta = sheet1.createRow(2);
rowRuta.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhRuta.label") + ": ");
}
Marca marca = (Marca) (cmbMarca.getSelectedItem() != null ? cmbMarca.getSelectedItem().getValue() : null);
if (marca != null) {
HSSFRow rowMarca = sheet1.createRow(3);
rowMarca.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMarca.label") + ": " + marca.toString());
} else {
HSSFRow rowMarca = sheet1.createRow(3);
rowMarca.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMarca.label") + ": ");
}
ClaseServicio claseService = (ClaseServicio) (cmbClaseServicio.getSelectedItem() != null ? cmbClaseServicio.getSelectedItem().getValue() : null);
if (claseService != null) {
HSSFRow rowClaseService = sheet1.createRow(4);
rowClaseService.createCell(0).setCellValue(
Labels.getLabel("tarifaEscalaContorller.lhClaseServicio.label") + ": " + claseService.toString());
} else {
HSSFRow rowClaseService = sheet1.createRow(4);
rowClaseService.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhClaseServicio.label") + ": ");
}
// linha vazia entre o cabeçalho e escala:
HSSFRow rowEspaco = sheet1.createRow(5);
rowEspaco.createCell(0).setCellValue("");
for (int i = 0; i < lsGridRender.size(); i++) {
List list = lsGridRender.get(i);
HSSFRow row = sheet1.createRow(i + 6);
for (int j = 0; j < list.size(); j++) {
Object st = list.get(j);
if (st instanceof Tarifa) {
Tarifa tmp = (Tarifa) st;
row.createCell(j).setCellValue(tmp.getPrecio().setScale(2).toString());
} else if (st instanceof Parada) {
Parada parada = (Parada) st;
HSSFCell cell = row.createCell(j);
cell.setCellStyle(estilo);
cell.setCellValue(parada.getCveparada());
} else {
row.createCell(j).setCellValue(st.toString());
}
}
}
String nomeArquivo = UsuarioLogado.getUsuarioLogado().getNombusuario() + "_" + Calendar.getInstance().getTime().getTime() + "_"
+ "escala";
File fNomeArquivo = File.createTempFile(nomeArquivo, ".tmp");
FileOutputStream stream = new FileOutputStream(fNomeArquivo);
stream.flush();
wb.write(stream);
stream.close();
InputStream is = null;
is = new FileInputStream(fNomeArquivo);
Filedownload.save(is, "application/xls", "escala.xls");
fNomeArquivo.delete();
gerarExcel(false);
} catch (Exception ex) {
log.info("** Erro ao exportar escala de tarifa: " + ex);
@ -914,6 +822,142 @@ public class TarifaEscalaContorller extends MyGenericForwardComposer {
}
}
/**
* @throws IOException
* @throws FileNotFoundException
*/
private void gerarExcel(Boolean isImprimir) throws IOException, FileNotFoundException {
HSSFWorkbook wb = new HSSFWorkbook();
Workbook wbi = new XSSFWorkbook();
// fonte em negrito:
HSSFFont fonte = wb.createFont();
fonte.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
HSSFCellStyle estilo = wb.createCellStyle();
estilo.setFont(fonte);
HSSFSheet sheet1 = wb.createSheet(Labels.getLabel("tarifaEscalaContorller.window.title"));
// cabeçalho:
VigenciaTarifa vt = (VigenciaTarifa) (cmbVigencia.getSelectedItem() != null ? cmbVigencia.getSelectedItem().getValue() : null);
if (vt != null) {
HSSFRow rowVigencia = sheet1.createRow(0);
rowVigencia.createCell(0).setCellValue(
Labels.getLabel("tarifaEscalaContorller.lhFeciniciovigencia.label") + ": " + vt.toString());
} else {
HSSFRow rowVigencia = sheet1.createRow(0);
rowVigencia.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhFeciniciovigencia.label") + ": ");
}
Moneda moneda = (Moneda) (cmbMoneda.getSelectedItem() != null ? cmbMoneda.getSelectedItem().getValue() : null);
if (moneda != null) {
HSSFRow rowMoneda = sheet1.createRow(1);
rowMoneda.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMoneda.label") + ": " + moneda.toString());
} else {
HSSFRow rowMoneda = sheet1.createRow(1);
rowMoneda.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMoneda.label") + ": ");
}
Ruta ruta = (Ruta) (cmbRuta.getSelectedItem() != null ? cmbRuta.getSelectedItem().getValue() : null);
if (ruta != null) {
HSSFRow rowRuta = sheet1.createRow(2);
rowRuta.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhRuta.label") + ": " + ruta.toString());
} else {
HSSFRow rowRuta = sheet1.createRow(2);
rowRuta.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhRuta.label") + ": ");
}
Marca marca = (Marca) (cmbMarca.getSelectedItem() != null ? cmbMarca.getSelectedItem().getValue() : null);
if (marca != null) {
HSSFRow rowMarca = sheet1.createRow(3);
rowMarca.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMarca.label") + ": " + marca.toString());
} else {
HSSFRow rowMarca = sheet1.createRow(3);
rowMarca.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMarca.label") + ": ");
}
ClaseServicio claseService = (ClaseServicio) (cmbClaseServicio.getSelectedItem() != null ? cmbClaseServicio.getSelectedItem().getValue() : null);
if (claseService != null) {
HSSFRow rowClaseService = sheet1.createRow(4);
rowClaseService.createCell(0).setCellValue(
Labels.getLabel("tarifaEscalaContorller.lhClaseServicio.label") + ": " + claseService.toString());
} else {
HSSFRow rowClaseService = sheet1.createRow(4);
rowClaseService.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhClaseServicio.label") + ": ");
}
// linha vazia entre o cabeçalho e escala:
HSSFRow rowEspaco = sheet1.createRow(6);
rowEspaco.createCell(1).setCellValue("");
int destino = 0;
Boolean isSec = false;
for (int i = 0; i < lsGridRender.size(); i++) {
List list = lsGridRender.get(i);
HSSFRow row = sheet1.createRow(i + 6);
destino++;
isSec = false;
for (int j = 0; j < list.size(); j++) {
Object st = list.get(j);
if (st instanceof Tarifa) {
Tarifa tmp = (Tarifa) st;
if(i>=1 && destino <= lsGridRender.size()) {
row.createCell(0).setCellValue(destino);
}
row.createCell(j+1).setCellValue(tmp.getPrecio().setScale(2).toString());
} else if (st instanceof Parada) {
Parada parada = (Parada) st;
HSSFCell cell = row.createCell(j+1);
cell.setCellStyle(estilo);
cell.setCellValue(parada.getDescparada()+" "+"("+parada.getCveparada()+")");
} else {
if(!isSec) {
row.createCell(j+1).setCellValue(destino+1);
isSec = true;
} else {
row.createCell(j+1).setCellValue(st.toString());
}
}
}
}
sheet1.setFitToPage(true);
sheet1.getPrintSetup().setFitWidth((short)1);
sheet1.getPrintSetup().setFitHeight((short)0);
String nomeArquivo = UsuarioLogado.getUsuarioLogado().getNombusuario() + "_" + Calendar.getInstance().getTime().getTime() + "_"
+ "escala";
File fNomeArquivo = File.createTempFile(nomeArquivo, ".tmp");
FileOutputStream stream = new FileOutputStream(fNomeArquivo);
stream.flush();
if (isImprimir) {
wbi.write(stream);
} else {
wb.write(stream);
}
stream.close();
InputStream is = null;
is = new FileInputStream(fNomeArquivo);
if (isImprimir) {
Filedownload.save(is, "application/xls", "escala.xls");
} else {
Filedownload.save(is, "application/xls", "escala.xls");
}
fNomeArquivo.delete();
}
public void onChange$cmbClaseServicio(Event ev) {
Comboitem cbiClaseServicio = cmbClaseServicio.getSelectedItem();