diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmbarqueLocalidadeBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmbarqueLocalidadeBean.java new file mode 100644 index 000000000..f9748e595 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmbarqueLocalidadeBean.java @@ -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; + } + + +} 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 new file mode 100644 index 000000000..70f6a9086 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmbarqueLocalidadeController.java @@ -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 lsEmpresas; + private List lsOrgaosConcedentes; + private List lsRutas; + private List 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 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(); + Map>> datas = ResultSetToList(rset); + + exportaExcel(datas); + } catch (Exception e){ + log.error("", e); + } + } + + private void exportaExcel(Map>> 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>> data : datas.entrySet()){ + // entry.getKey() => Data + sheet1 = wb.createSheet(data.getKey().replaceAll("/", "-")); + geraCabecalho(sheet1, data.getKey(), wb); + int totalGeral = 0; + for (Entry> 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 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韔do: " + 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鏰lho + 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罵IA"); + 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(); + lsRutas = new ArrayList(); + 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>> ResultSetToList(ResultSet rset) throws SQLException { + + Map>> datas = new LinkedHashMap>>(); + + 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>()); + } + + if (!datas.get(bean.getData()).containsKey(bean.getHorario())){ + datas.get(bean.getData()).put(bean.getHorario(), new ArrayList()); + } + + 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 getLsEmpresas() { + return lsEmpresas; + } + + public void setLsEmpresas(List lsEmpresas) { + this.lsEmpresas = lsEmpresas; + } + + public List getLsOrgaosConcedentes() { + return lsOrgaosConcedentes; + } + + public void setLsOrgaosConcedentes(List lsOrgaosConcedentes) { + this.lsOrgaosConcedentes = lsOrgaosConcedentes; + } + + public List getLsRutas() { + return lsRutas; + } + + public void setLsRutas(List 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 getLsOrigens() { + return lsOrigens; + } + + public void setLsOrigens(List lsOrigens) { + this.lsOrigens = lsOrigens; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioEmbarqueLocalidade.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioEmbarqueLocalidade.java new file mode 100644 index 000000000..269203d3e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioEmbarqueLocalidade.java @@ -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); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index 9a8f27d11..6a66db5f2 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -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 diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 6e2d969a4..b84598c29 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -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 diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 7e2f4b639..a21fc918a 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -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 diff --git a/web/gui/relatorios/filtroRelatorioEmbarqueLocalidade.zul b/web/gui/relatorios/filtroRelatorioEmbarqueLocalidade.zul new file mode 100644 index 000000000..a11da6d1f --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioEmbarqueLocalidade.zul @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +