13714: Relatório embarque por localidade - AGERBA

bug#13714
dev:lucas
qua:renato

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@90544 d1611594-4594-4d17-8e1d-87c2c4800839
master
leonardo 2019-03-07 20:38:26 +00:00
parent 935aa19fe1
commit 7944c3ce7f
7 changed files with 675 additions and 1 deletions

View File

@ -0,0 +1,33 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
public class RelatorioEmbarqueLocalidadeBean {
protected String data;
protected String linha;
protected Long embarques;
public String getData() {
return data.substring(0, 10);
}
public String getHorario(){
return data.substring(11, data.length());
}
public void setData(String data) {
this.data = data;
}
public String getLinha() {
return linha;
}
public void setLinha(String linha) {
this.linha = linha;
}
public Long getEmbarques() {
return embarques;
}
public void setEmbarques(Long embarques) {
this.embarques = embarques;
}
}

View File

@ -0,0 +1,513 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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.CellStyle;
import org.apache.poi.ss.util.CellRangeAddress;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.zkoss.zhtml.Filedownload;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Timebox;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioEmbarqueLocalidadeBean;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService;
import com.rjconsultores.ventaboletos.service.ParadaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
@Controller("relatorioEmbarqueLocalidadeController")
public class RelatorioEmbarqueLocalidadeController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(RelatorioEmbarqueLocalidadeController.class);
@Autowired
private DataSource dataSourceRead;
@Autowired
private EmpresaService empresaService;
@Autowired
private RutaService rutaService;
@Autowired
private ParadaService paradaService;
@Autowired
private OrgaoConcedenteService orgaoConcedenteService;
private Datebox datInicial;
private Datebox datFinal;
private Timebox horInicial;
private Timebox horFinal;
private MyComboboxEstandar cmbEmpresa;
private MyComboboxEstandar cmbOrgaoConcedente;
private MyComboboxEstandar cmbRuta;
private MyComboboxEstandar cmbOrigem;
private List<Empresa> lsEmpresas;
private List<OrgaoConcedente> lsOrgaosConcedentes;
private List<Ruta> lsRutas;
private List<Parada> lsOrigens;
protected static final String FIELD_FEC_FINAL = "fecFinal";
protected static final String FILED_FEC_INICIO = "fecInicio";
protected static final String FIELD_HOR_INICIO = "horInicio";
protected static final String FIELD_HOR_FINAL = "horFinal";
protected static final String FIELD_EMPRESA_ID = "empresa";
protected static final String FIELD_RUTA_ID = "ruta";
protected static final String FIELD_ORGAO_CONCEDENTE_ID = "orgao";
protected static final String FIELD_ORIGEM_ID = "origem";
private static final int NUM_LINHA_TITULO = 0;
private static final int NUM_LINHA_PERIODO = 1;
private static final int NUM_LINHA_DATA_EMPRESA = 3;
private static final int NUM_LINHA_INICIO = 5;
private Empresa empresa;
private Ruta ruta;
private OrgaoConcedente orgao;
private Parada origem;
private List<RelatorioEmbarqueLocalidadeBean> lsDadosRelatorio;
private void executarRelatorio() throws Exception {
empresa = cmbEmpresa.getSelectedItem() != null ? (Empresa)cmbEmpresa.getSelectedItem().getValue() : null;
ruta = cmbRuta.getSelectedItem() != null ? (Ruta)cmbRuta.getSelectedItem().getValue() : null;
orgao = cmbOrgaoConcedente.getSelectedItem() != null ? (OrgaoConcedente)cmbOrgaoConcedente.getSelectedItem().getValue() : null;
origem = cmbOrigem.getSelectedItem() != null ? (Parada)cmbOrigem.getSelectedItem().getValue() : null;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat hf = new SimpleDateFormat("HH:mm:ss");
String fecInicio = sdf.format(this.datInicial.getValue()) + " 00:00:00";
String fecFinal = sdf.format(this.datFinal.getValue()) + " 23:59:59";
String horInicio = horInicial.getValue() != null ? hf.format(horInicial.getValue()) : "";
String horFim = horFinal.getValue() != null ? hf.format(horFinal.getValue()) : "";
String sql = getSql(empresa.getEmpresaId().toString(),
ruta != null ? ruta.getRutaId().toString() : null,
orgao != null ? orgao.getOrgaoConcedenteId().toString() : null,
origem != null ? origem.getParadaId().toString() : null, horInicio, horFim);
try{
NamedParameterStatement stmt = new NamedParameterStatement(dataSourceRead.getConnection(), sql);
ResultSet rset = null;
stmt.setString(FILED_FEC_INICIO, fecInicio);
stmt.setString(FIELD_FEC_FINAL, fecFinal);
if (empresa != null) {
stmt.setInt(FIELD_EMPRESA_ID, empresa.getEmpresaId());
}
if (ruta != null && !ruta.equals("-1")) {
stmt.setInt(FIELD_RUTA_ID, ruta.getRutaId());
}
if (orgao != null) {
stmt.setInt(FIELD_ORGAO_CONCEDENTE_ID, orgao.getOrgaoConcedenteId());
}
if (origem != null) {
stmt.setInt(FIELD_ORIGEM_ID, origem.getParadaId());
}
if (!horInicio.isEmpty() && !horFim.isEmpty()){
stmt.setString(FIELD_HOR_INICIO, horInicio);
stmt.setString(FIELD_HOR_FINAL, horFim);
}
rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioEmbarqueLocalidadeBean>();
Map<String, Map<String, List<RelatorioEmbarqueLocalidadeBean>>> datas = ResultSetToList(rset);
exportaExcel(datas);
} catch (Exception e){
log.error("", e);
}
}
private void exportaExcel(Map<String, Map<String, List<RelatorioEmbarqueLocalidadeBean>>> datas){
try{
HSSFWorkbook wb = new HSSFWorkbook();
HSSFCellStyle estiloVerticalMerge = wb.createCellStyle();
estiloVerticalMerge.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
HSSFSheet sheet1 = null;
int linha = NUM_LINHA_INICIO;
int coluna = 1;
HSSFRow row = null;
for (Entry<String, Map<String, List<RelatorioEmbarqueLocalidadeBean>>> data : datas.entrySet()){
// entry.getKey() => Data
sheet1 = wb.createSheet(data.getKey().replaceAll("/", "-"));
geraCabecalho(sheet1, data.getKey(), wb);
int totalGeral = 0;
for (Entry<String, List<RelatorioEmbarqueLocalidadeBean>> horario : data.getValue().entrySet()){
row = sheet1.createRow(linha);
HSSFCell cellHorario = row.createCell(0);
cellHorario.setCellValue(horario.getKey());
cellHorario.setCellStyle(estiloVerticalMerge);
HSSFCell cellTotal = row.createCell(7);
List<RelatorioEmbarqueLocalidadeBean> rows = horario.getValue();
int rowcount = (int) Math.ceil((double)rows.size() / 3) -1;
sheet1.addMergedRegion(new CellRangeAddress(
linha, //first row (0-based)
linha+rowcount, //last row (0-based)
0, //first column (0-based)
0 //last column (0-based)
));
sheet1.addMergedRegion(new CellRangeAddress(
linha, //first row (0-based)
linha+rowcount, //last row (0-based)
7, //first column (0-based)
7 //last column (0-based)
));
int beancount = 1;
int embarquesTotais = 0;
for (RelatorioEmbarqueLocalidadeBean bean : rows){
if (beancount == 4){
linha++;
row = sheet1.createRow(linha);
coluna = 1;
}
row.createCell(coluna++).setCellValue(bean.getLinha());
row.createCell(coluna++).setCellValue(bean.getEmbarques());
embarquesTotais += bean.getEmbarques();
beancount++;
}
cellTotal.setCellValue(embarquesTotais);
cellTotal.setCellStyle(estiloVerticalMerge);
linha++;
coluna = 1;
totalGeral += embarquesTotais;
}
row = sheet1.createRow(linha);
HSSFCell cellTotal = row.createCell(0);
cellTotal.setCellValue("TOTAL");
HSSFCell cellTotalValue = row.createCell(7);
cellTotalValue.setCellValue(totalGeral);
linha = NUM_LINHA_INICIO;
sheet1.autoSizeColumn(0);
sheet1.autoSizeColumn(1);
sheet1.autoSizeColumn(2);
sheet1.autoSizeColumn(3);
sheet1.autoSizeColumn(4);
sheet1.autoSizeColumn(5);
sheet1.autoSizeColumn(6);
sheet1.autoSizeColumn(7);
}
String nomeArquivo =
UsuarioLogado.getUsuarioLogado().getNombusuario()
+ "_" + Calendar.getInstance().getTime().getTime()
+ "_" + "EmbarqueLocalidade";
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", "EmbarqueLocalidade.xls");
fNomeArquivo.delete();
} catch (Exception e){
log.error("", e);
}
}
private void geraCabecalhoTitulo(HSSFSheet sheet1, HSSFWorkbook wb){
HSSFRow titulo = sheet1.createRow(NUM_LINHA_TITULO);
sheet1.addMergedRegion(new CellRangeAddress(
NUM_LINHA_TITULO, //first row (0-based)
NUM_LINHA_TITULO, //last row (0-based)
0, //first column (0-based)
7 //last column (0-based)
));
HSSFFont fonte = wb.createFont();
fonte.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
HSSFCellStyle estilo = wb.createCellStyle();
estilo.setFont(fonte);
titulo.createCell(0).setCellValue("EMBARQUE POR LOCALIDADE");
titulo.setRowStyle(estilo);
}
private void geraCabecalhoPeriodo(HSSFSheet sheet1){
HSSFRow periodo = sheet1.createRow(NUM_LINHA_PERIODO);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
sheet1.addMergedRegion(new CellRangeAddress(
NUM_LINHA_PERIODO, //first row (0-based)
NUM_LINHA_PERIODO, //last row (0-based)
0, //first column (0-based)
7 //last column (0-based)
));
periodo.createCell(0).setCellValue("Período: " + sdf.format(this.datInicial.getValue()) + " a " + sdf.format(this.datFinal.getValue()) );
}
private void geraCabecalho(HSSFSheet sheet1, String dataAtual, HSSFWorkbook wb){
geraCabecalhoTitulo(sheet1, wb);
geraCabecalhoPeriodo(sheet1);
sheet1.addMergedRegion(new CellRangeAddress(
NUM_LINHA_DATA_EMPRESA, //first row (0-based)
NUM_LINHA_DATA_EMPRESA, //last row (0-based)
1, //first column (0-based)
7 //last column (0-based)
));
//Montando o Cabeçalho
HSSFRow r0 = sheet1.createRow(NUM_LINHA_DATA_EMPRESA);
r0.createCell(0).setCellValue("DATA: " + dataAtual);
r0.createCell(1).setCellValue("EMPRESA: " + empresa.getNombempresa());
HSSFRow r1 = sheet1.createRow(NUM_LINHA_DATA_EMPRESA+1);
r1.createCell(0).setCellValue("FAIXA HORÁRIA");
r1.createCell(1).setCellValue("Prefixo / Nome Linha");
r1.createCell(2).setCellValue("Embarques");
r1.createCell(3).setCellValue("Prefixo / Nome Linha");
r1.createCell(4).setCellValue("Embarques");
r1.createCell(5).setCellValue("Prefixo / Nome Linha");
r1.createCell(6).setCellValue("Embarques");
r1.createCell(7).setCellValue("TOTAL");
}
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
executarRelatorio();
}
@Override
public void doAfterCompose(Component comp) throws Exception {
lsEmpresas = empresaService.obtenerTodos();
lsOrgaosConcedentes = orgaoConcedenteService.obtenerTodos();
lsOrigens = new ArrayList<Parada>();
lsRutas = new ArrayList<Ruta>();
super.doAfterCompose(comp);
}
public void onSelect$cmbOrgaoConcedente(Event ev) throws Exception {
lsRutas = rutaService.buscaSomenteRutasFromOrgao((OrgaoConcedente)cmbOrgaoConcedente.getSelectedItem().getValue());
cmbRuta.setModel(new ListModelList(lsRutas));
}
public void onSelect$cmbRuta(Event ev) throws Exception {
lsOrigens = paradaService.obtenerOrigenPorRuta((Ruta)cmbRuta.getSelectedItem().getValue());
cmbOrigem.setModel(new ListModelList(lsOrigens));
}
protected String getSql(String empresa, String ruta, String orgao, String origem, String horInicio, String horFim) {
StringBuilder sql = new StringBuilder();
sql.append("select ");
sql.append(" concat(concat(concat(TO_CHAR(b.fechorviaje,'DD/MM/YYYY HH24'), ':00'), ' a '),concat(TO_CHAR(b.fechorviaje,'HH24'), ':59')), ");
sql.append(" concat(concat(r.prefixo, ' '), r.descruta), ");
sql.append(" count(b.boleto_id) ");
sql.append("from ");
sql.append(" boleto b ");
sql.append(" inner join ruta r on r.ruta_id = b.ruta_id ");
sql.append(" inner join marca m on m.marca_id = b.marca_id ");
sql.append("where ");
sql.append(" b.fechorviaje between TO_DATE(:fecInicio, 'DD/MM/YYYY HH24:MI:SS') AND TO_DATE(:fecFinal, 'DD/MM/YYYY HH24:MI:SS') ");
if (!horInicio.isEmpty() && !horFim.isEmpty()){
sql.append(" and TO_CHAR(b.fechorviaje, 'HH24:MI:SS') between :horInicio AND :horFinal ");
}
sql.append(" and b.motivocancelacion_id is null and b.numasiento is not null and b.indstatusoperacion = 'F' ");
if (orgao != null && !orgao.isEmpty()){
sql.append(" and r.orgaoconcedente_id = :orgao ");
}
if (!empresa.isEmpty()){
sql.append(" and m.empresa_id = :empresa ");
}
if (ruta != null && !ruta.isEmpty() && !ruta.equals("-1")){
sql.append(" and r.ruta_id = :ruta ");
}
if (origem != null && !origem.isEmpty()){
sql.append(" and b.origen_id = :origem ");
}
sql.append("group by ");
sql.append(" concat(concat(concat(TO_CHAR(b.fechorviaje,'DD/MM/YYYY HH24'), ':00'), ' a '),concat(TO_CHAR(b.fechorviaje,'HH24'), ':59')), ");
sql.append(" concat(concat(r.prefixo, ' '), r.descruta) ");
sql.append("order by ");
sql.append(" 1 ");
return sql.toString();
}
protected Map<String, Map<String, List<RelatorioEmbarqueLocalidadeBean>>> ResultSetToList(ResultSet rset) throws SQLException {
Map<String, Map<String, List<RelatorioEmbarqueLocalidadeBean>>> datas = new LinkedHashMap<String, Map<String, List<RelatorioEmbarqueLocalidadeBean>>>();
while (rset.next()) {
RelatorioEmbarqueLocalidadeBean bean = new RelatorioEmbarqueLocalidadeBean();
bean.setData(rset.getString(1));
bean.setLinha(rset.getString(2));
bean.setEmbarques(rset.getLong(3));
if (!datas.containsKey(bean.getData())){
datas.put(bean.getData(), new LinkedHashMap<String, List<RelatorioEmbarqueLocalidadeBean>>());
}
if (!datas.get(bean.getData()).containsKey(bean.getHorario())){
datas.get(bean.getData()).put(bean.getHorario(), new ArrayList<RelatorioEmbarqueLocalidadeBean>());
}
datas.get(bean.getData()).get(bean.getHorario()).add(bean);
}
return datas;
}
public Datebox getDatInicial() {
return datInicial;
}
public void setDatInicial(Datebox datInicial) {
this.datInicial = datInicial;
}
public Datebox getDatFinal() {
return datFinal;
}
public void setDatFinal(Datebox datFinal) {
this.datFinal = datFinal;
}
public MyComboboxEstandar getCmbEmpresa() {
return cmbEmpresa;
}
public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) {
this.cmbEmpresa = cmbEmpresa;
}
public List<Empresa> getLsEmpresas() {
return lsEmpresas;
}
public void setLsEmpresas(List<Empresa> lsEmpresas) {
this.lsEmpresas = lsEmpresas;
}
public List<OrgaoConcedente> getLsOrgaosConcedentes() {
return lsOrgaosConcedentes;
}
public void setLsOrgaosConcedentes(List<OrgaoConcedente> lsOrgaosConcedentes) {
this.lsOrgaosConcedentes = lsOrgaosConcedentes;
}
public List<Ruta> getLsRutas() {
return lsRutas;
}
public void setLsRutas(List<Ruta> lsRutas) {
this.lsRutas = lsRutas;
}
public Timebox getHorInicial() {
return horInicial;
}
public void setHorInicial(Timebox horInicial) {
this.horInicial = horInicial;
}
public Timebox getHorFinal() {
return horFinal;
}
public void setHorFinal(Timebox horFinal) {
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<Parada> getLsOrigens() {
return lsOrigens;
}
public void setLsOrigens(List<Parada> lsOrigens) {
this.lsOrigens = lsOrigens;
}
}

View File

@ -0,0 +1,25 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuRelatorioEmbarqueLocalidade extends DefaultItemMenuSistema {
public ItemMenuRelatorioEmbarqueLocalidade() {
super("indexController.mniRelatorioEmbarqueLocalidade.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOEMBARQUELOCALIDADE";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioEmbarqueLocalidade.zul",
Labels.getLabel("relatorioEmbarqueLocalidadeController.window.title"), getArgs(), desktop);
}
}

View File

@ -1,4 +1,3 @@
catalogos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.MenuCatalogos
catalogos.mensagemRecusa=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuMensagemRecusa
catalogos.claseServicio=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuClaseServicio
catalogos.categoria=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuCategoria
@ -150,6 +149,7 @@ analitico.gerenciais.operacionais.kmProgramada=com.rjconsultores.ventaboletos.we
analitico.gerenciais.operacionais.acompanhamentoEquivalentes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAcompanhamentoEquivalentes
analitico.gerenciais.operacionais.linhasHorario=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioLinhasHorario
analitico.gerenciais.operacionais.demandas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioDemandas
analitico.gerenciais.operacionais.embarqueLocalidade=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioEmbarqueLocalidade
analitico.gerenciais.operacionais.remarcacaoTransferencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioRemarcacaoPassagensTransferencia
analitico.gerenciais.estatisticos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.estatisticos.SubMenuRelatorioEstatisticos
analitico.gerenciais.estatisticos.receitaLinhaOperacional=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioLinhaOperacional

View File

@ -254,6 +254,7 @@ indexController.mniRelatoriosFinanceiro.label = Reportes Financieros
indexController.mniRelatoriosEstatisticos.label = Reportes Estadísticos
indexController.mniRelatoriosPacote.label = Reportes paquetes
indexController.mniIntegracion.bgm.label = BGM
indexController.mniRelatorioEmbarqueLocalidade.label=Relatório Embarque por Localidade
indexController.mniRelatorios.label = Reportes
indexController.mniRelatorioAproveitamento.label = Aprovechamiento
@ -486,6 +487,17 @@ relatorioEmpresaCorridaController.lbEmpresa.value=Empresa
relatorioEmpresaCorridaController.lbOnibus.value=Onibus
relatorioEmpresaCorridaController.lbResumo.value=Resumen
# Relatorio Embarque Localidade
relatorioEmbarqueLocalidadeController.window.title=Relatório Embarque Localidade
relatorioEmbarqueLocalidadeController.lbDataIni.value=Data Inicial
relatorioEmbarqueLocalidadeController.lbDataFin.value=Data Final
relatorioEmbarqueLocalidadeController.lbEmpresa.value=Empresa
relatorioEmbarqueLocalidadeController.lbRuta.value=Linha
relatorioEmbarqueLocalidadeController.lbOrgaoConcedente.value=Órgão Concedente
relatorioEmbarqueLocalidadeController.lbOrigem.value=Origem
relatorioEmbarqueLocalidadeController.lbHoraIni.value=Hora Saída
relatorioEmbarqueLocalidadeController.lbHoraFin.value=à
# Relatorio Empresa Onibus
relatorioEmpresaOnibusController.window.title=Reporte empresa autobús
relatorioEmpresaOnibusResumoController.window.title=Reporte empresa autobús - Resumen

View File

@ -259,6 +259,7 @@ indexController.mniRelatoriosFinanceiro.label = Relatórios Financeiro
indexController.mniRelatoriosEstatisticos.label = Relatórios Estatísticos
indexController.mniRelatoriosPacote.label = Relatórios Pacote
indexController.mniIntegracion.bgm.label = BGM
indexController.mniRelatorioEmbarqueLocalidade.label=Relatório Embarque por Localidade
indexController.mniRelatorios.label = Relatórios
indexController.mniRelatorioAproveitamento.label = Aproveitamento
@ -509,6 +510,18 @@ relatorioEmpresaCorridaController.lbEmpresa.value=Empresa
relatorioEmpresaCorridaController.lbOnibus.value=Ônibus
relatorioEmpresaCorridaController.lbResumo.value=Resumo
# Relatorio Embarque Localidade
relatorioEmbarqueLocalidadeController.window.title=Relatório Embarque Localidade
relatorioEmbarqueLocalidadeController.lbDataIni.value=Data Inicial
relatorioEmbarqueLocalidadeController.lbDataFin.value=Data Final
relatorioEmbarqueLocalidadeController.lbEmpresa.value=Empresa
relatorioEmbarqueLocalidadeController.lbRuta.value=Linha
relatorioEmbarqueLocalidadeController.lbOrgaoConcedente.value=Órgão Concedente
relatorioEmbarqueLocalidadeController.lbOrigem.value=Origem
relatorioEmbarqueLocalidadeController.lbHoraIni.value=Hora Saída
relatorioEmbarqueLocalidadeController.lbHoraFin.value=à
# Relatorio Empresa Onibus
relatorioEmpresaOnibusController.window.title=Relatório Empresa Ônibus
relatorioEmpresaOnibusResumoController.window.title=Relatório Empresa Ônibus - Resumo

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winFiltroRelatorioEmbarqueLocalidade"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioEmbarqueLocalidade"
apply="${relatorioEmbarqueLocalidadeController}"
contentStyle="overflow:auto" width="550px" border="normal">
<grid fixedLayout="true">
<columns>
<column width="20%" />
<column width="30%" />
<column width="20%" />
<column width="30%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioEmbarqueLocalidadeController.lbDataIni.value')}" />
<datebox id="datInicial" width="90%"
format="dd/MM/yyyy" constraint="no empty"
maxlength="10" />
<label
value="${c:l('relatorioEmbarqueLocalidadeController.lbDataFin.value')}" />
<datebox id="datFinal" width="90%"
format="dd/MM/yyyy" constraint="no empty"
maxlength="10" />
</row>
<row spans="1,3">
<label
value="${c:l('relatorioEmbarqueLocalidadeController.lbEmpresa.value')}" />
<combobox id="cmbEmpresa"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true"
width="70%" model="@{winFiltroRelatorioEmbarqueLocalidade$composer.lsEmpresas}" />
</row>
<row spans="1,3">
<label value="${c:l('relatorioEmbarqueLocalidadeController.lbOrgaoConcedente.value')}"/>
<combobox id="cmbOrgaoConcedente"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true"
width="70%" model="@{winFiltroRelatorioEmbarqueLocalidade$composer.lsOrgaosConcedentes}" />
</row>
<row spans="1,3">
<label value="${c:l('relatorioEmbarqueLocalidadeController.lbRuta.value')}"/>
<combobox id="cmbRuta"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true"
width="70%" model="@{winFiltroRelatorioEmbarqueLocalidade$composer.lsRutas}" />
</row>
<row spans="1,3">
<label value="${c:l('relatorioEmbarqueLocalidadeController.lbOrigem.value')}"/>
<combobox id="cmbOrigem"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true"
width="70%" model="@{winFiltroRelatorioEmbarqueLocalidade$composer.lsOrigens}" />
</row>
<row>
<label
value="${c:l('relatorioEmbarqueLocalidadeController.lbHoraIni.value')}" />
<timebox id="horInicial"
format="HH:mm" />
<label
value="${c:l('relatorioEmbarqueLocalidadeController.lbHoraFin.value')}" />
<timebox id="horFinal"
format="HH:mm" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>