diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/imagens/artesp.png b/src/java/com/rjconsultores/ventaboletos/relatorios/imagens/artesp.png new file mode 100644 index 000000000..a5bdd8235 Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/relatorios/imagens/artesp.png differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java index 8923353a6..1bd4c1b17 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java @@ -3,17 +3,21 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.sql.Connection; import java.sql.ResultSet; import java.util.HashMap; +import java.util.List; import java.util.Map; +import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; public class RelatorioTabelaPreco extends Relatorio { + private Boolean isLayoutArtesp; public RelatorioTabelaPreco(final Map parametros, Connection conexao) throws Exception { super(parametros, conexao); - + + this.isLayoutArtesp = (Boolean) parametros.get("isLayoutArtesp"); this.setCustomDataSource(new ArrayDataSource(this) { public void initDados() throws Exception { @@ -23,7 +27,7 @@ public class RelatorioTabelaPreco extends Relatorio { while (rset.next()) { Map dataResult = new HashMap(); - + dataResult.put("origem", rset.getString("origem")); dataResult.put("destino", rset.getString("destino")); dataResult.put("tarifa", rset.getBigDecimal("tarifa")); @@ -38,7 +42,7 @@ public class RelatorioTabelaPreco extends Relatorio { dataResult.put("dataVigenciaFinal", rset.getDate("dataVigenciaFinal")); dataResult.put("idLinha", rset.getInt("idLinha")); dataResult.put("idVigencia", rset.getInt("idVigencia")); - + this.dados.add(dataResult); } @@ -85,26 +89,36 @@ public class RelatorioTabelaPreco extends Relatorio { sql.append("AND tr.ACTIVO = 1 "); sql.append("AND tr.ORIGEN_ID = t.ORIGEN_ID "); sql.append("AND tr.DESTINO_ID = t.DESTINO_ID "); - - if(parametros.get("VIGENCIA_ID") != null){ - sql.append(" AND vt.VIGENCIATARIFA_ID = " + parametros.get("VIGENCIA_ID")); - } - - if (parametros.get("EMPRESA_ID") != null) { - sql.append(" AND e.empresa_id = " + parametros.get("EMPRESA_ID")); - } - - if (parametros.get("LINHAS_ID") != null) { + sql.append(" AND vt.VIGENCIATARIFA_ID = " + parametros.get("VIGENCIA_ID")); + sql.append(" AND e.empresa_id = " + parametros.get("EMPRESA_ID")); + + List linha = (List) parametros.get("LINHAS_ID"); + if (linha != null && !linha.isEmpty()) { sql.append(" AND r.RUTA_ID IN (" + parametros.get("LINHAS_ID") + ")"); } - - if(parametros.get("ORGAO_CONCEDENTE_ID") != null){ + + if (parametros.get("ORGAO_CONCEDENTE_ID") != null) { sql.append(" AND r.ORGAOCONCEDENTE_ID = " + parametros.get("ORGAO_CONCEDENTE_ID")); } - - sql.append( " ORDER BY r.RUTA_ID, vt.FECINICIOVIGENCIA "); - - return sql.toString(); + + if (parametros.get("origemId") != null) { + sql.append(" AND tr.ORIGEN_ID= " + parametros.get("origemId")); + } + + if (parametros.get("destinoId") != null) { + sql.append(" AND tr.DESTINO_ID= " + parametros.get("destinoId")); + } + + sql.append(" ORDER BY r.RUTA_ID, vt.FECINICIOVIGENCIA "); + + return sql.toString(); } + @Override + public String getNome() { + if (isLayoutArtesp) { + return "RelatorioTabelaPrecoArtesp"; + } + return this.getClass().getSimpleName(); + } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPrecoArtesp_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPrecoArtesp_es.properties new file mode 100644 index 000000000..a66115839 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPrecoArtesp_es.properties @@ -0,0 +1,22 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels header +label.origem=Origem +label.destino=Destino +label.tarifa=Tarifa +label.pedagio=Pedágio +label.taxaEmbarque=Taxa +label.seguro=Seguro +label.outros=Outros +label.tipoClasse=Classe +label.linha=Linha(s) +label.empresa=Empresa +label.dataVigencia=Vigência +label.total=Total +label.orgacaoConcedente=Orgão Concedente + +label.totalSemSeguro=Total Sem Seguro Facultativo +label.totalComSeguro=Total Com Seguro Facultativo +label.valorSeguro=Valor do Seguro Facultativo +label.msgAviso=A CONTRATAÇÃO DO SEGURO DE ACIDENTES PESSOAIS É FACULTATIVA \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPrecoArtesp_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPrecoArtesp_pt_BR.properties new file mode 100644 index 000000000..a66115839 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPrecoArtesp_pt_BR.properties @@ -0,0 +1,22 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels header +label.origem=Origem +label.destino=Destino +label.tarifa=Tarifa +label.pedagio=Pedágio +label.taxaEmbarque=Taxa +label.seguro=Seguro +label.outros=Outros +label.tipoClasse=Classe +label.linha=Linha(s) +label.empresa=Empresa +label.dataVigencia=Vigência +label.total=Total +label.orgacaoConcedente=Orgão Concedente + +label.totalSemSeguro=Total Sem Seguro Facultativo +label.totalComSeguro=Total Com Seguro Facultativo +label.valorSeguro=Valor do Seguro Facultativo +label.msgAviso=A CONTRATAÇÃO DO SEGURO DE ACIDENTES PESSOAIS É FACULTATIVA \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPrecoArtesp.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPrecoArtesp.jasper new file mode 100644 index 000000000..81adbe97e Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPrecoArtesp.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPrecoArtesp.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPrecoArtesp.jrxml new file mode 100644 index 000000000..063e1a2ae --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPrecoArtesp.jrxml @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="30" splitType="Stretch"> + <textField> + <reportElement uuid="5d83d8a8-01aa-4022-9583-6808e65d2ec8" mode="Opaque" x="0" y="0" width="264" height="29" backcolor="#FFFF66"/> + <textElement textAlignment="Center" verticalAlignment="Middle"> + <font size="14" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$F{origem}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="2c5b01a1-51db-478a-a307-83c9df5cea6e" x="264" y="0" width="538" height="29"/> + <textElement verticalAlignment="Middle"> + <font size="14" isBold="true"/> + <paragraph leftIndent="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{empresa}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java index cf7270789..f51ed3cb5 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java @@ -15,20 +15,27 @@ import org.zkoss.util.resource.Labels; import org.zkoss.zhtml.Messagebox; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Checkbox; import org.zkoss.zul.Comboitem; +import org.zkoss.zul.ListModelArray; +import org.zkoss.zul.ListModelList; import org.zkoss.zul.Paging; 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.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioTabelaPreco; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; +import com.rjconsultores.ventaboletos.service.ParadaService; +import com.rjconsultores.ventaboletos.service.TramoService; import com.rjconsultores.ventaboletos.service.VigenciaTarifaService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; @@ -43,13 +50,11 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { private static final long serialVersionUID = 1L; private MyComboboxEstandar cmbVigencia; - private List lsVigencia; private MyComboboxEstandar cmbEmpresa; - private List lsEmpresa; private MyComboboxEstandar cmbOrgaoConcedente; - private List lsOrcaoConcedente; - @Autowired - private transient PagedListWrapper plwRuta; + private MyComboboxParada cmbOrigem; + private MyComboboxEstandar cmbDestino; + private Checkbox chkLayoutArtesp; private Paging pagingLinha; private MyTextbox txtLinha; @@ -62,12 +67,20 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { private EmpresaService empresaService; @Autowired private OrgaoConcedenteService orgaocConcedenteService; - + @Autowired + private transient PagedListWrapper plwRuta; + @Autowired + private ParadaService paradaService; @Autowired private DataSource dataSourceRead; + private List destinoList; + private List lsVigencia; + private List lsEmpresa; + private List lsOrcaoConcedente; + @Override - public void doAfterCompose(Component comp) throws Exception { + public void doAfterCompose(Component comp) throws Exception { lsVigencia = vigenciaTarifaService.obtenerTodos(); lsEmpresa = empresaService.obtenerTodos(); lsOrcaoConcedente = orgaocConcedenteService.obtenerTodos(); @@ -109,6 +122,16 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { parametros.put("ORGAO_CONCEDENTE", orgaoConcedente.getDescOrgao()); } + if (cmbOrigem.getSelectedItem() != null) { + parametros.put("origemId", cmbOrigem.getSelectedObject().getParadaId()); + } + + if (cmbDestino.getSelectedItem() != null) { + parametros.put("destinoId", cmbDestino.getSelecteObject(Parada.class).getParadaId()); + } + + parametros.put("isLayoutArtesp", chkLayoutArtesp.isChecked()); + String rutaIds = ""; String rutas = ""; List lsLinhasSelecionadas = convertTypedList(linhaSelList.getData()); @@ -162,6 +185,22 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { linhaSelList.addItemNovo(ruta); } + public void onChange$cmbOrigem(Event ev) { + Parada origem = cmbOrigem.getSelectedObject(); + destinoList = paradaService.obterPossiveisDestinos(origem); + cmbDestino.setModel(new ListModelList(destinoList)); + if (destinoList.isEmpty()) { + cmbDestino.setSelectedIndex(-1); + } + + if (origem == null) { + chkLayoutArtesp.setVisible(false); + chkLayoutArtesp.setChecked(false); + } else { + chkLayoutArtesp.setVisible(true); + } + } + private void executarPesquisa() { HibernateSearchObject rutaBusqueda = new HibernateSearchObject( Ruta.class, pagingLinha.getPageSize()); @@ -176,6 +215,7 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { OrgaoConcedente orgaoConcedente = (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue(); rutaBusqueda.addFilterEqual("orgaoConcedente", orgaoConcedente); } + rutaBusqueda.addFilterILike("descruta", "%" + txtLinha.getValue() + "%"); rutaBusqueda.addFilterEqual("activo", Boolean.TRUE); @@ -240,4 +280,8 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { this.lsOrcaoConcedente = lsOrcaoConcedente; } + public List getDestinoList() { + return destinoList; + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxEstandar.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxEstandar.java index b777d30fa..2bcc8011e 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxEstandar.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxEstandar.java @@ -12,7 +12,7 @@ import org.zkoss.zul.Combobox; * * @author gleimar */ -public class MyComboboxEstandar extends Combobox { +public class MyComboboxEstandar extends Combobox { private static final long serialVersionUID = 1L; @@ -33,4 +33,11 @@ public class MyComboboxEstandar extends Combobox { } }); } + + public T getSelecteObject(Class cType) { + if (this.getSelectedItem() != null) { + return cType.cast(this.getSelectedItem().getValue()); + } + return null; + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxParada.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxParada.java index 824d73a0a..4e1a6413b 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxParada.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxParada.java @@ -25,7 +25,7 @@ import com.rjconsultores.ventaboletos.service.ParadaService; * * @author Administrador */ -public class MyComboboxParada extends Combobox { +public class MyComboboxParada extends Combobox { private static final long serialVersionUID = 1L; private static Logger log = Logger.getLogger(MyComboboxParada.class); @@ -127,6 +127,13 @@ public class MyComboboxParada extends Combobox { return super.getValue(); } + + public Parada getSelectedObject() { + if (this.getSelectedItem() != null) { + return (Parada) this.getSelectedItem().getValue(); + } + return null; + } public boolean isSinTodos() { return sinTodos; diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 1f0deecdc..390ec9b35 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -1,4 +1,4 @@ -# V. 1.4 +# V. 1.4 # Para alterar esta planilha, seleccione Ferramentas | Planilhas # E abrir a planilha no editor. @@ -4527,6 +4527,7 @@ relatorioTabelaPrecoController.orgaoConcedente.value = Instituición Concedente relatorioTabelaPrecoController.lbEmpresa.value = Empresa relatorioTabelaPrecoController.lbLinha.value = Linea relatorioTabelaPrecoController.msg.informarLinha = Es obligatorio informar al menos una linea en el filtro. +relatorioTabelaPrecoController.lbLayoutArtesp=Layout ARTESP # Editar Motivo cancelación equivalencia editarMotivoCancelacionEquivalenciaController.window.title = Equivalencia motivo de cancelación diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 18580659e..0b3b07187 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -1,4 +1,4 @@ -# V. 1.4 +# V. 1.4 # Para alterar esta planilha, selecione Ferramentas | Planilhas # E abrir a planilha no editor. @@ -4600,6 +4600,7 @@ relatorioTabelaPrecoController.orgaoConcedente.value = Orgão Concedente relatorioTabelaPrecoController.lbEmpresa.value = Empresa relatorioTabelaPrecoController.lbLinha.value = Linha relatorioTabelaPrecoController.msg.informarLinha = É obrigatório informar pelo menos uma linha no filtro. +relatorioTabelaPrecoController.lbLayoutArtesp=Layout ARTESP # Editar Motivo cancelamento equivalencia editarMotivoCancelacionEquivalenciaController.window.title = Equivalencia Motivo de Cancelamento diff --git a/web/gui/relatorios/filtroRelatorioTabelaPreco.zul b/web/gui/relatorios/filtroRelatorioTabelaPreco.zul index 838518259..42423a5d7 100644 --- a/web/gui/relatorios/filtroRelatorioTabelaPreco.zul +++ b/web/gui/relatorios/filtroRelatorioTabelaPreco.zul @@ -4,50 +4,58 @@ - + + height="312px" width="700px" border="normal"> - - - - + + + + - + - + width="100%" constraint="no empty" /> + + + + + +