Relatório por Empresa de Ônibus (fixed bug #5393)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@36189 d1611594-4594-4d17-8e1d-87c2c4800839
master
leonardo 2014-06-23 15:05:11 +00:00
parent 4fce3d7538
commit 9167fb7907
12 changed files with 199 additions and 9 deletions

View File

@ -18,7 +18,7 @@ public class RelatorioEmpresaCorrida extends Relatorio {
private List<RelatorioEmpresaCorridaBean> lsDadosRelatorio;
public RelatorioEmpresaCorrida(Map<String, Object> parametros, Connection conexao) throws Exception {
public RelatorioEmpresaCorrida(Map<String, Object> parametros, Connection conexao, final boolean empresaCorrida) throws Exception {
super(parametros, conexao);
this.setCustomDataSource(new DataSource(this) {
@ -34,7 +34,7 @@ public class RelatorioEmpresaCorrida extends Relatorio {
@SuppressWarnings("unchecked")
String fecFinal = parametros.get("fecFinal").toString();
String sql = getSql(fecInicio, fecFinal);
String sql = getSql(fecInicio, fecFinal, empresaCorrida);
System.out.println(sql);
@ -76,7 +76,7 @@ public class RelatorioEmpresaCorrida extends Relatorio {
protected void processaParametros() throws Exception {
}
private String getSql(String fecInicio, String fecFinal) {
private String getSql(String fecInicio, String fecFinal, boolean empresaCorrida) {
StringBuffer sql = new StringBuffer();
sql.append(" select c.corrida_Id corridaId, e.nombempresa empresa, c.feccorrida dia, a.numautobus coche, ");
@ -86,8 +86,12 @@ public class RelatorioEmpresaCorrida extends Relatorio {
sql.append(" left join parada o on o.parada_id = c.origen_id ");
sql.append(" left join parada d on d.parada_id = c.destino_id ");
sql.append(" left join tramo t on t.origen_id = c.origen_id and t.destino_id = c.destino_id ");
sql.append(" left join empresa e on e.empresa_id = c.empresacorrida_id ");
sql.append(" inner join autobus a on a.autobus_id = c.autobus_id ");
if (empresaCorrida){
sql.append(" left join empresa e on e.empresa_id = c.empresacorrida_id ");
} else {
sql.append(" left join empresa e on e.empresa_id = a.empresa_id ");
}
sql.append(" where extract(month from c.feccorrida) = 6 ");
sql.append(" and c.activo = 1 and c.feccorrida between to_date('" + fecInicio + "', 'DD/MM/YYYY') and to_date('" + fecFinal + "', 'DD/MM/YYYY') ");
sql.append(" order by e.nombempresa, c.feccorrida ");

View File

@ -3,7 +3,6 @@ msg.noData=N
msg.a=à
#Labels header
header.titulo.relatorio=Relatório por Empresa Corrida
header.periodo=Período:
header.data.hora=Data/Hora\:
header.pagina=Página\:

View File

@ -2,7 +2,7 @@
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="RelatorioEmpresaCorrida" pageWidth="595" pageHeight="842" whenNoDataType="NoDataSection" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="94834362-0ecc-46da-b0a2-5cdee355da3e">
<property name="ireport.zoom" value="1.5"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="ireport.y" value="20"/>
<parameter name="fecInicio" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
@ -11,6 +11,7 @@
<parameter name="USUARIO_ID" class="java.lang.String"/>
<parameter name="LINHA_FILTRO" class="java.lang.String"/>
<parameter name="SERVICO_FILTRO" class="java.lang.String"/>
<parameter name="TITULO" class="java.lang.String"/>
<queryString>
<![CDATA[]]>
</queryString>
@ -22,6 +23,9 @@
<field name="kmts" class="java.lang.Integer"/>
<field name="empresa" class="java.lang.String"/>
<field name="corridaId" class="java.lang.Integer"/>
<variable name="sum.kmts" class="java.lang.Integer" resetType="Group" resetGroup="empresa" calculation="Sum">
<variableExpression><![CDATA[$F{kmts}]]></variableExpression>
</variable>
<group name="empresa">
<groupExpression><![CDATA[$F{empresa}]]></groupExpression>
<groupHeader>
@ -90,6 +94,25 @@
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="19">
<textField isBlankWhenNull="true">
<reportElement uuid="96095298-1c13-4089-8a8b-fd324b377e45" x="410" y="0" width="57" height="16"/>
<textElement textAlignment="Left">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$V{sum.kmts}]]></textFieldExpression>
</textField>
<staticText>
<reportElement uuid="1b8e90f1-09d3-4419-8d8b-a917b3b1f414" x="373" y="0" width="37" height="16"/>
<textElement/>
<text><![CDATA[Total]]></text>
</staticText>
<line>
<reportElement uuid="6cef9de7-7dee-488b-aea7-3d02a8e3634a" x="0" y="0" width="555" height="1"/>
</line>
</band>
</groupFooter>
</group>
<background>
<band splitType="Stretch"/>
@ -124,7 +147,7 @@
<textField>
<reportElement uuid="652312bd-292a-424d-a234-5f157e3699c6" x="0" y="0" width="231" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.titulo.relatorio}]]></textFieldExpression>
<textFieldExpression><![CDATA[$P{TITULO}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm">
<reportElement uuid="6f671365-868e-41a6-81ee-a308d1d91e1d" x="457" y="0" width="98" height="20"/>

View File

@ -26,6 +26,7 @@ import com.rjconsultores.ventaboletos.entidad.AutobusDoc;
import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.MarcaAutobus;
import com.rjconsultores.ventaboletos.entidad.TipoDocAutobus;
import com.rjconsultores.ventaboletos.service.AutobusDocService;
@ -34,6 +35,7 @@ import com.rjconsultores.ventaboletos.service.CiudadService;
import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.DiagramaAutobusService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.MarcaAutobusService;
import com.rjconsultores.ventaboletos.service.TipoDocAutobusService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -66,12 +68,15 @@ public class EditarAutobusController extends MyGenericForwardComposer {
private CiudadService ciudadService;
@Autowired
private TipoDocAutobusService tipoDocAutobusService;
@Autowired
private EmpresaService empresaService;
private List<DiagramaAutobus> lsDiagramaAutobus;
private List<Ciudad> lsCiudad;
private List<ClaseServicio> lsClaseServicio;
private List<MarcaAutobus> lsMarcas;
private List<TipoDocAutobus> lsTipoDocAutobus;
private List<Empresa> lsEmpresas;
private Autobus autobus;
private MyListbox autobusList;
private MyListbox docsList;
@ -83,6 +88,7 @@ public class EditarAutobusController extends MyGenericForwardComposer {
private Combobox cmbMarcas;
private Combobox cmbClaseServicio;
private Combobox cmbCiudad;
private Combobox cmbEmpresas;
private Button btnApagar;
private static Logger log = Logger.getLogger(EditarAutobusController.class);
@ -158,6 +164,14 @@ public class EditarAutobusController extends MyGenericForwardComposer {
this.lsTipoDocAutobus = lsTipoDocAutobus;
}
public List<Empresa> getLsEmpresas() {
return lsEmpresas;
}
public void setLsEmpresas(List<Empresa> lsEmpresas) {
this.lsEmpresas = lsEmpresas;
}
@Override
public void doAfterCompose(Component comp) throws Exception {
lsDiagramaAutobus = diagramaAutobusService.obtenerTodos();
@ -165,6 +179,7 @@ public class EditarAutobusController extends MyGenericForwardComposer {
lsClaseServicio = claseServicioService.obtenerTodos();
lsMarcas = marcaAutobusService.obtenerTodos();
lsTipoDocAutobus = tipoDocAutobusService.obtenerTodos();
lsEmpresas = empresaService.obtenerTodos();
super.doAfterCompose(comp);
@ -210,7 +225,7 @@ public class EditarAutobusController extends MyGenericForwardComposer {
autobus.setActivo(Boolean.TRUE);
autobus.setFecmodif(Calendar.getInstance().getTime());
autobus.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
autobus.setEmpresa(cmbEmpresas.getSelectedItem() == null ? null : (Empresa)cmbEmpresas.getSelectedItem().getValue());
autobus.setMarcaAutobus(cmbMarcas.getSelectedItem() == null ? null : (MarcaAutobus)cmbMarcas.getSelectedItem().getValue());
autobus.setCiudad(cmbCiudad.getSelectedItem() == null ? null : (Ciudad)cmbCiudad.getSelectedItem().getValue());
autobus.setClaseServicio(cmbClaseServicio.getSelectedItem() == null ? null : (ClaseServicio)cmbClaseServicio.getSelectedItem().getValue());

View File

@ -38,8 +38,9 @@ public class RelatorioEmpresaCorridaController extends MyGenericForwardComposer
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
parametros.put("fecInicio", sdf.format(this.datInicial.getValue()));
parametros.put("fecFinal", sdf.format(this.datFinal.getValue()));
parametros.put("TITULO", Labels.getLabel("relatorioEmpresaCorridaController.window.title"));
Relatorio relatorio = new RelatorioEmpresaCorrida(parametros, dataSource.getConnection());
Relatorio relatorio = new RelatorioEmpresaCorrida(parametros, dataSource.getConnection(), true);
Map<String, Object> args = new HashMap<String, Object>();
args.put("relatorio", relatorio);

View File

@ -0,0 +1,62 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Datebox;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioEmpresaCorrida;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
@Controller("relatorioEmpresaOnibusController")
@Scope("prototype")
public class RelatorioEmpresaOnibusController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(RelatorioEmpresaCorridaController.class);
@Autowired
private DataSource dataSource;
private Datebox datInicial;
private Datebox datFinal;
private void executarRelatorio() throws Exception {
Map<String, Object> parametros = new HashMap<String, Object>();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
parametros.put("fecInicio", sdf.format(this.datInicial.getValue()));
parametros.put("fecFinal", sdf.format(this.datFinal.getValue()));
parametros.put("TITULO", Labels.getLabel("relatorioEmpresaOnibusController.window.title"));
Relatorio relatorio = new RelatorioEmpresaCorrida(parametros, dataSource.getConnection(), false);
Map<String, Object> args = new HashMap<String, Object>();
args.put("relatorio", relatorio);
openWindow("/component/reportView.zul",
Labels.getLabel("relatorioEmpresaOnibusController.window.title"), args, MODAL);
}
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
executarRelatorio();
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
}
}

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 ItemMenuRelatorioEmpresaOnibus extends DefaultItemMenuSistema {
public ItemMenuRelatorioEmpresaOnibus() {
super("indexController.mniRelatorioEmpresaOnibus.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOEMPRESAONIBUS";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioEmpresaOnibus.zul",
Labels.getLabel("relatorioEmpresaOnibusController.window.title"), null, desktop);
}
}

View File

@ -224,6 +224,7 @@ indexController.mniRelatorioLinhasHorario.label = Reporte de rutas por horário
indexController.mniRelatorioTaxasLinha.label = Reporte de tasas por linea
indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioEmpresaCorrida.label = Reporte de la Empresa Corrida
indexController.mniRelatorioEmpresaCorrida.label = Reporte de la Empresa Onibus
#PARTE REALIZADA POR MANUEL
indexController.mnCortesias.label = Cortesias para empleados
@ -298,6 +299,11 @@ relatorioEmpresaCorridaController.window.title=Reporte Empresa Corrida
relatorioEmpresaCorridaController.lbDataIni.value=Fecha Inicio
relatorioEmpresaCorridaController.lbDataFin.value=Fecha Final
# Relatorio Empresa Onibus
relatorioEmpresaOnibusController.window.title=Reporte Empresa Onibus
relatorioEmpresaOnibusController.lbDataIni.value=Fecha Inicio
relatorioEmpresaOnibusController.lbDataFin.value=Fecha Final
#Relatorio rutas Horario
relatorioLinhasHorarioController.window.title = Reporte de rutas por horário
relatorioLinhasHorarioController.lbDataIni.value = Fecha inicial
@ -2885,6 +2891,7 @@ editarAutobusController.btnSalvar.tooltiptext = Guardar
editarAutobusController.btnFechar.tooltiptext = Cerrar
editarAutobusController.lbNome.value = Número autobus
editarAutobusController.lbParados.value = Cant Parados
editarAutobusController.lbEmpresa.value = Empresa
editarAutobusController.lbMarca.value = Marca
editarAutobusController.lbModelo.value = Modelo
editarAutobusController.lbAno.value = Año

View File

@ -228,6 +228,7 @@ indexController.mniRelatorioTaxasLinha.label = Relatório de Taxas por Linha
indexController.mniRelatorioDevolucaoBilhetes.label = Relatório de Devolução de Bilhetes
indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioEmpresaCorrida.label = Relatório por Empresa Corrida
indexController.mniRelatorioEmpresaOnibus.label = Relatório por Empresa Ônibus
#PARTE REALIZADA POR MANUEL
indexController.mnCortesias.label = Cortesias Para Funcionários
@ -304,6 +305,11 @@ relatorioEmpresaCorridaController.window.title=Relatório Empresa Corrida
relatorioEmpresaCorridaController.lbDataIni.value=Data Inicial
relatorioEmpresaCorridaController.lbDataFin.value=Data Final
# Relatorio Empresa Onibus
relatorioEmpresaOnibusController.window.title=Relatório Empresa Ônibus
relatorioEmpresaOnibusController.lbDataIni.value=Data Inicial
relatorioEmpresaOnibusController.lbDataFin.value=Data Final
#Relatorio Linhas Horario
relatorioLinhasHorarioController.window.title = Relatório de Linhas por Horário
relatorioLinhasHorarioController.lbDataIni.value = Data Inicial
@ -2934,6 +2940,7 @@ editarAutobusController.btnSalvar.tooltiptext = Salvar
editarAutobusController.btnFechar.tooltiptext = Fechar
editarAutobusController.lbNome.value = Número Veículo
editarAutobusController.lbParados.value = Cant Parados
editarAutobusController.lbEmpresa.value = Empresa
editarAutobusController.lbMarca.value = Marca
editarAutobusController.lbModelo.value = Modelo
editarAutobusController.lbAno.value = Ano

View File

@ -60,6 +60,13 @@
model="@{winEditarAutobus$composer.lsDiagramaAutobus}"
selectedItem="@{winEditarAutobus$composer.autobus.diagramaAutobusPiso}"/>
</row>
<row>
<label value="${c:l('editarAutobusController.lbEmpresa.value')}"/>
<combobox id="cmbEmpresas" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="70%"
model="@{winEditarAutobus$composer.lsEmpresas}"
selectedItem="@{winEditarAutobus$composer.autobus.empresa}"/>
</row>
<row>
<label id="lbParados" value="${c:l('editarAutobusController.lbParados.value')}"/>
<textbox id="txtParados" width="80%" maxlength="10"

View File

@ -0,0 +1,40 @@
<?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="winFiltroRelatorioEmpresaOnibus"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioEmpresaOnibus"
apply="${relatorioEmpresaOnibusController}"
contentStyle="overflow:auto" height="264px" 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('relatorioEmpresaOnibusController.lbDataIni.value')}" />
<datebox id="datInicial" width="90%"
format="dd/MM/yyyy" lenient="false" constraint="no empty"
maxlength="10" />
<label
value="${c:l('relatorioEmpresaOnibusController.lbDataFin.value')}" />
<datebox id="datFinal" width="90%"
format="dd/MM/yyyy" lenient="false" constraint="no empty"
maxlength="10" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>