From e11cde4246ccd0a19ebec0730c03835f0d6865cd Mon Sep 17 00:00:00 2001 From: wilian Date: Tue, 21 Jul 2015 14:59:05 +0000 Subject: [PATCH] fixes bug #6489 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@46168 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioVendaPacoteVoucher.java | 420 ++++++++++++++++++ .../impl/RelatorioVendasPacotesBoletos.java | 2 +- .../impl/RelatorioVendasPacotesDetalhado.java | 2 +- .../RelatorioVendaPacoteVoucher_es.properties | 29 ++ ...latorioVendaPacoteVoucher_pt_BR.properties | 29 ++ ...ReporteItemAdicionalVouchers_es.properties | 1 + ...orteItemAdicionalVouchers_pt_BR.properties | 1 + ...ReportePacoteTarifasVouchers_es.properties | 13 + ...ortePacoteTarifasVouchers_pt_BR.properties | 13 + .../render/RenderRelatorioJasper.java | 21 +- .../RelatorioVendaPacoteVoucher.jasper | Bin 0 -> 51530 bytes .../RelatorioVendaPacoteVoucher.jrxml | 300 +++++++++++++ .../SubReporteItemAdicionalVouchers.jasper | Bin 0 -> 18752 bytes .../SubReporteItemAdicionalVouchers.jrxml | 32 ++ .../SubReportePacoteTarifasVouchers.jasper | Bin 0 -> 26210 bytes .../SubReportePacoteTarifasVouchers.jrxml | 96 ++++ .../relatorios/utilitarios/Relatorio.java | 8 +- .../pacote/PacoteItemAdicionalVoucher.java | 15 + .../pacote/PacoteTarifaVoucher.java | 149 +++++++ .../utilitarios/pacote/PacoteVoucher.java | 395 ++++++++++++++++ ...> BusquedaManutencaoPacoteController.java} | 12 +- ... => EditarManutencaoPacoteController.java} | 59 ++- .../pacote/ItemMenuAlterarEnderecoApanhe.java | 27 -- .../item/pacote/ItemMenuManutencaoPacote.java | 27 ++ src/java/spring-config.xml | 3 + web/WEB-INF/i3-label_es_MX.label | 83 ++-- web/WEB-INF/i3-label_pt_BR.label | 89 ++-- ...panhe.zul => busquedaManutencaoPacote.zul} | 26 +- .../editarAlterarEnderecoApanhe.zul | 104 ----- .../senda_amigo/editarManutencaoPacote.zul | 130 ++++++ 30 files changed, 1834 insertions(+), 252 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaPacoteVoucher.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaPacoteVoucher_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaPacoteVoucher_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReporteItemAdicionalVouchers_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReporteItemAdicionalVouchers_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReportePacoteTarifasVouchers_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReportePacoteTarifasVouchers_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaPacoteVoucher.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaPacoteVoucher.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReporteItemAdicionalVouchers.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReporteItemAdicionalVouchers.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReportePacoteTarifasVouchers.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReportePacoteTarifasVouchers.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteItemAdicionalVoucher.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteTarifaVoucher.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteVoucher.java rename src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/{BusquedaAlterarEnderecoApanheController.java => BusquedaManutencaoPacoteController.java} (90%) rename src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/{EditarAlterarEnderecoApanheController.java => EditarManutencaoPacoteController.java} (72%) delete mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pacote/ItemMenuAlterarEnderecoApanhe.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pacote/ItemMenuManutencaoPacote.java rename web/gui/senda_amigo/{busquedaAlterarEnderecoApanhe.zul => busquedaManutencaoPacote.zul} (59%) delete mode 100644 web/gui/senda_amigo/editarAlterarEnderecoApanhe.zul create mode 100644 web/gui/senda_amigo/editarManutencaoPacote.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaPacoteVoucher.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaPacoteVoucher.java new file mode 100644 index 000000000..6fff542de --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaPacoteVoucher.java @@ -0,0 +1,420 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; + +import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.enums.LocalEnderecoApanhe; +import com.rjconsultores.ventaboletos.enums.SituacaoVendaPacote; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.pacote.PacoteItemAdicionalVoucher; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.pacote.PacoteTarifaVoucher; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.pacote.PacoteVoucher; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioVendaPacoteVoucher extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioVendaPacoteVoucher.class); + + private List lsPacoteVoucher; + + private Long vendapacoteId; + + public RelatorioVendaPacoteVoucher(Map parametros, Connection conexao, final String... nomeSubReporte) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + Map parametros = this.relatorio.getParametros(); + vendapacoteId = parametros.get("vendapacoteId") != null && !parametros.get("vendapacoteId").equals("null") ? Long.valueOf(parametros.get("vendapacoteId").toString()) : null; + + Connection conexao = this.relatorio.getConexao(); + processarVendaPacoteVoucher(conexao); + + setNomeSubReporte(nomeSubReporte); + setLsDadosRelatorio(lsPacoteVoucher); + } + }); + } + + private void processarVendaPacoteVoucher(Connection conexao) { + PacoteVoucher pacoteVoucher = carregarDadosPacoteVoucher(conexao); + + lsPacoteVoucher = new ArrayList(); + lsPacoteVoucher.add(pacoteVoucher); + } + + private PacoteVoucher carregarDadosPacoteVoucher(Connection conexao) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + try { + StringBuilder sQuery = new StringBuilder("SELECT VP.DATAPACOTE,VP.DATAVENDA,VP.SUBTOTAL,VP.TOTAL,VP.DESCONTO,VP.NUMOPERACION,P.NOMPACOTE,P.DESCPACOTE,E.NOMBEMPRESA,VP.SITUACAO "); + sQuery.append("FROM VENDA_PACOTE VP ") + .append("JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID ") + .append("JOIN EMPRESA E ON E.EMPRESA_ID = P.EMPRESA_ID ") + .append("WHERE VP.VENDAPACOTE_ID = :vendapacoteId ") + .append("AND VP.MOTIVOCANCELVENDAPACOTE_ID IS NULL "); + log.info(sQuery); + stmt = new NamedParameterStatement(conexao, sQuery.toString()); + stmt.setLong("vendapacoteId", vendapacoteId); + rset = stmt.executeQuery(); + + while (rset.next()) { + PacoteVoucher pacoteVoucher = new PacoteVoucher(); + pacoteVoucher.setDatapacote(rset.getDate("datapacote")); + pacoteVoucher.setDatavenda(rset.getDate("datavenda")); + pacoteVoucher.setSubTotal(rset.getBigDecimal("subtotal")); + pacoteVoucher.setTotal(rset.getBigDecimal("total")); + pacoteVoucher.setDesconto(rset.getBigDecimal("desconto")); + pacoteVoucher.setNumoperacion(rset.getString("numoperacion")); + pacoteVoucher.setNomePacote(rset.getString("nompacote")); + pacoteVoucher.setDescPacote(rset.getString("descpacote")); + pacoteVoucher.setNombempresa(rset.getString("nombempresa")); + pacoteVoucher.setSituacaoVendaPacote(SituacaoVendaPacote.getSituacaoVendaPacote(rset.getInt("situacao"))); + + carregarPacoteItem(conexao, pacoteVoucher); + carregarEnderecoApanhe(conexao, pacoteVoucher); + carregarClientePacote(conexao, pacoteVoucher); + carregarTarifaVendaPacote(conexao, pacoteVoucher); + carregarFormaPago(conexao, pacoteVoucher); + + return pacoteVoucher; + } + + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + return null; + } + + private void carregarPacoteItem(Connection conexao, PacoteVoucher pacoteVoucher) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + try { + StringBuilder sQuery = new StringBuilder(); + sQuery.append("SELECT IA.DESCITEMADICIONAL ") + .append("FROM ITEM_ADICIONAL IA ") + .append("JOIN PACOTE_ITEM PI ON PI.ITEMADICIONAL_ID = IA.ITEMADICIONAL_ID ") + .append("JOIN PACOTE P ON P.PACOTE_ID = PI.PACOTE_ID ") + .append("JOIN VENDA_PACOTE VP ON VP.PACOTE_ID = P.PACOTE_ID ") + .append("WHERE VP.VENDAPACOTE_ID = :vendapacoteId ") + .append("AND IA.ACTIVO = 1"); + log.info(sQuery); + stmt = new NamedParameterStatement(conexao, sQuery.toString()); + stmt.setLong("vendapacoteId", vendapacoteId); + rset = stmt.executeQuery(); + + List lsPacoteItemAdicionalVoucher = new ArrayList(); + while (rset.next()) { + PacoteItemAdicionalVoucher pacoteTarifaVoucher = new PacoteItemAdicionalVoucher(); + pacoteTarifaVoucher.setDescitemadicional(rset.getString("descitemadicional")); + lsPacoteItemAdicionalVoucher.add(pacoteTarifaVoucher); + } + pacoteVoucher.setItemAdicionalVouchers(lsPacoteItemAdicionalVoucher); + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + } + + private void carregarEnderecoApanhe(Connection conexao, PacoteVoucher pacoteVoucher) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + try { + StringBuilder sQuery = new StringBuilder("SELECT EA.LOCAL,EA.DESCHOTEL,EA.BAIRRO,EA.CEP,EA.CIDADE,EA.COMPLEMENTO,EA.ENDERECO,EA.NUMERO,EA.REFERENCIA "); + sQuery.append("FROM ENDERECO_APANHE EA ") + .append("JOIN VENDA_PACOTE VP ON VP.VENDAPACOTE_ID = EA.VENDAPACOTE_ID ") + .append("WHERE VP.VENDAPACOTE_ID = :vendapacoteId ") + .append("AND EA.ACTIVO = 1 ") + .append("ORDER BY EA.ENDERECOAPANHE_ID DESC "); + log.info(sQuery); + stmt = new NamedParameterStatement(conexao, sQuery.toString()); + stmt.setLong("vendapacoteId", vendapacoteId); + rset = stmt.executeQuery(); + + while (rset.next()) { + LocalEnderecoApanhe localEnderecoApanhe = LocalEnderecoApanhe.getLocalEnderecoApanhe(rset.getInt("local")); + if(LocalEnderecoApanhe.APANHE_EM_CASA.equals(localEnderecoApanhe)) { + pacoteVoucher.setDescLocalEnderecoApanhe(LocalEnderecoApanhe.APANHE_EM_CASA.toString()); + } else if(LocalEnderecoApanhe.HOTEL.equals(localEnderecoApanhe)) { + if(StringUtils.isNotBlank(rset.getString("deschotel"))) { + pacoteVoucher.setDescLocalEnderecoApanhe(rset.getString("deschotel")); + } else { + pacoteVoucher.setDescLocalEnderecoApanhe(LocalEnderecoApanhe.HOTEL.toString()); + } + } else if(LocalEnderecoApanhe.REGIAO_METROPOLITANA.equals(localEnderecoApanhe)) { + pacoteVoucher.setDescLocalEnderecoApanhe(LocalEnderecoApanhe.REGIAO_METROPOLITANA.toString()); + } + + pacoteVoucher.setBairroEnderecoApanhe(rset.getString("bairro")); + pacoteVoucher.setCepEnderecoApanhe(rset.getString("cep")); + pacoteVoucher.setCidadeEnderecoApanhe(rset.getString("cidade")); + pacoteVoucher.setComplementoEnderecoApanhe(rset.getString("complemento")); + pacoteVoucher.setEnderecoEnderecoApanhe(rset.getString("endereco")); + pacoteVoucher.setNumeroEnderecoApanhe(rset.getString("numero")); + pacoteVoucher.setReferenciaEnderecoApanhe(rset.getString("referencia")); + break; + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + } + + private void carregarClientePacote(Connection conexao, PacoteVoucher pacoteVoucher) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + try { + StringBuilder sQuery = new StringBuilder("SELECT CP.RAZAO_SOCIAL,CP.CPF_CNPJ,CP.DESCEMAIL,CP.DESCTELEFONE,CP.DESCFAX,CP.CEP,CP.ENDERECO,CP.NUMERO,CP.COMPLEMENTO,CP.PAIS,CP.ESTADO,CP.CIDADE,CP.BAIRRO "); + sQuery.append("FROM CLIENTE_PACOTE CP ") + .append("JOIN VENDA_PACOTE VP ON VP.CLIENTEPACOTE_ID = CP.CLIENTEPACOTE_ID ") + .append("WHERE VP.VENDAPACOTE_ID = :vendapacoteId "); + log.info(sQuery); + stmt = new NamedParameterStatement(conexao, sQuery.toString()); + stmt.setLong("vendapacoteId", vendapacoteId); + rset = stmt.executeQuery(); + + while (rset.next()) { + pacoteVoucher.setRazaoSocialClientePacote(rset.getString("razao_social")); + pacoteVoucher.setCpfCnpjClientePacote(rset.getString("cpf_cnpj")); + pacoteVoucher.setDescemailClientePacote(rset.getString("descemail")); + pacoteVoucher.setDesctelefoneClientePacote(rset.getString("desctelefone")); + pacoteVoucher.setDescfaxClientePacote(rset.getString("descfax")); + pacoteVoucher.setCepClientePacote(rset.getString("cep")); + pacoteVoucher.setEnderecoClientePacote(rset.getString("endereco")); + pacoteVoucher.setNumeroClientePacote(rset.getString("numero")); + pacoteVoucher.setComplementoClientePacote(rset.getString("complemento")); + pacoteVoucher.setPaisClientePacote(rset.getString("pais")); + pacoteVoucher.setEstadoClientePacote(rset.getString("estado")); + pacoteVoucher.setCidadeClientePacote(rset.getString("cidade")); + pacoteVoucher.setBairroClientePacote(rset.getString("bairro")); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + } + + private void carregarTarifaVendaPacote(Connection conexao, PacoteVoucher pacoteVoucher) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + try { + StringBuilder sQuery = new StringBuilder(); + sQuery.append("SELECT B.NUMASIENTO, CONCAT(DEST.CVEPARADA,CONCAT(' - ',DEST.DESCPARADA)) AS DESTINO, CONCAT(ORI.CVEPARADA,CONCAT(' - ',ORI.DESCPARADA)) AS ORIGEM, ") + .append("TVP.DESCEMAIL,TTP.DESCTIPOTARIFA,TO_CHAR(B.FECHORVIAJE,'DD/MM/YYYY HH24:MI') AS FECHORVIAJE,TVP.IDIOMA,TVP.NOMCONVENIO,TVP.NOMEPASSAGEIRO, ") + .append("TVP.TIPODOC,TVP.DOCUMENTO,TVP.DESCTELEFONE,CT.DESCCATEGORIA,C.CORRIDA_ID,C.MARCA_ID ") + .append("FROM TARIFA_VENDA_PACOTE TVP ") + .append("JOIN PACOTE_TARIFA PT ON PT.PACOTETARIFA_ID = TVP.PACOTETARIFA_ID ") + .append("JOIN TIPO_TARIFA_PACOTE TTP ON TTP.TIPOTARIFAPACOTE_ID = PT.TIPOTARIFAPACOTE_ID ") + .append("LEFT JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") + .append("LEFT JOIN PARADA DEST ON DEST.PARADA_ID = B.DESTINO_ID ") + .append("LEFT JOIN PARADA ORI ON ORI.PARADA_ID = B.ORIGEN_ID ") + .append("LEFT JOIN CORRIDA C ON C.CORRIDA_ID = B.CORRIDA_ID AND C.FECCORRIDA = B.FECCORRIDA ") + .append("LEFT JOIN CATEGORIA CT ON CT.CATEGORIA_ID = B.CATEGORIA_ID ") + .append("WHERE TVP.VENDAPACOTE_ID = :vendapacoteId "); + log.info(sQuery); + stmt = new NamedParameterStatement(conexao, sQuery.toString()); + stmt.setLong("vendapacoteId", vendapacoteId); + rset = stmt.executeQuery(); + + List lsPacoteTarifasVouchers = new ArrayList(); + while (rset.next()) { + PacoteTarifaVoucher pacoteTarifaVoucher = new PacoteTarifaVoucher(); + pacoteTarifaVoucher.setAsiento(rset.getString("numasiento")); + pacoteTarifaVoucher.setDescDestino(rset.getString("destino")); + pacoteTarifaVoucher.setDescOrigen(rset.getString("origem")); + pacoteTarifaVoucher.setDescEmail(rset.getString("descemail")); + pacoteTarifaVoucher.setDesctipotarifa(rset.getString("desctipotarifa")); + pacoteTarifaVoucher.setFecHorViaje(rset.getString("fechorviaje")); + pacoteTarifaVoucher.setIdioma(rset.getString("idioma")); + pacoteTarifaVoucher.setNomconvenio(rset.getString("nomconvenio")); + pacoteTarifaVoucher.setNomPasajero(rset.getString("nomepassageiro")); + pacoteTarifaVoucher.setNumDoc(rset.getString("documento")); + pacoteTarifaVoucher.setTipoDoc(rset.getString("tipodoc")); + pacoteTarifaVoucher.setNumTelefone(rset.getString("desctelefone")); + pacoteTarifaVoucher.setDesccategoria(rset.getString("desccategoria")); + + if(rset.getInt("corrida_id") > 0) { + pacoteTarifaVoucher.setCorridaId(rset.getInt("corrida_id")); + } + + carregarLogo(conexao, rset.getInt("marca_id")); + + lsPacoteTarifasVouchers.add(pacoteTarifaVoucher); + } + pacoteVoucher.setPacoteTarifasVouchers(lsPacoteTarifasVouchers); + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + } + + private void carregarLogo(Connection conexao, int marcaId) { + if(getParametros().containsKey("logo")) { + return; + } + + ResultSet rset = null; + NamedParameterStatement stmt = null; + try { + StringBuilder sQuery = new StringBuilder(); + sQuery.append("SELECT LOGOTIPOMARCA ") + .append("FROM MARCA ") + .append("WHERE MARCA_ID = :marcaId ") + .append("AND ACTIVO = 1 "); + + log.info(sQuery); + stmt = new NamedParameterStatement(conexao, sQuery.toString()); + stmt.setLong("marcaId", marcaId); + rset = stmt.executeQuery(); + + while (rset.next()) { + InputStream io = new ByteArrayInputStream(rset.getBytes("logotipomarca")); + getParametros().put("logo", io); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + } + + private void carregarFormaPago(Connection conexao, PacoteVoucher pacoteVoucher) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + try { + StringBuilder sQuery = new StringBuilder(); + sQuery.append("SELECT FP.FORMAPAGO_ID, FP.DESCPAGO, PFP.VALOR ") + .append("FROM PACOTE_FORMAPAGO PFP ") + .append("JOIN FORMA_PAGO FP ON FP.FORMAPAGO_ID = PFP.FORMAPAGO_ID ") + .append("WHERE PFP.VENDAPACOTE_ID = :vendapacoteId "); + + if(SituacaoVendaPacote.RESERVA.equals(pacoteVoucher.getSituacaoVendaPacote())) { + sQuery.append("AND FP.FORMAPAGO_ID = :formapagoId "); + } else { + sQuery.append("AND FP.FORMAPAGO_ID != :formapagoId "); + } + + log.info(sQuery); + stmt = new NamedParameterStatement(conexao, sQuery.toString()); + stmt.setLong("vendapacoteId", vendapacoteId); + stmt.setInt("formapagoId", Constantes.FORMA_PAGO_RESERVA.intValue()); + rset = stmt.executeQuery(); + + int indice = 0; + while (rset.next()) { + ++indice; + if(indice == 1) { + pacoteVoucher.setDescFormapago1(rset.getString("descpago")); + pacoteVoucher.setValorFormapago1(rset.getBigDecimal("valor")); + } else if(indice == 2) { + pacoteVoucher.setDescFormapago2(rset.getString("descpago")); + pacoteVoucher.setValorFormapago2(rset.getBigDecimal("valor")); + } else if(indice == 3) { + pacoteVoucher.setDescFormapago3(rset.getString("descpago")); + pacoteVoucher.setValorFormapago3(rset.getBigDecimal("valor")); + } + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + } + + @Override + protected void processaParametros() throws Exception { + } + + public List getLsDadosRelatorio() { + return lsPacoteVoucher; + } + + public void setLsDadosRelatorio(List lsPacoteVoucher) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsPacoteVoucher)); + this.lsPacoteVoucher = lsPacoteVoucher; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java index 0496a223e..c46a73a4b 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java @@ -30,7 +30,7 @@ public class RelatorioVendasPacotesBoletos extends Relatorio { private Date fecFinal; private Integer empresaId; - public RelatorioVendasPacotesBoletos(Map parametros, Connection conexao, final String nomeSubReporte) throws Exception { + public RelatorioVendasPacotesBoletos(Map parametros, Connection conexao, final String... nomeSubReporte) throws Exception { super(parametros, conexao); this.setCustomDataSource(new DataSource(this) { diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java index b0e2c43fd..5724d928e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java @@ -33,7 +33,7 @@ public class RelatorioVendasPacotesDetalhado extends Relatorio { private Integer empresaId; private Integer pacoteId; - public RelatorioVendasPacotesDetalhado(Map parametros, Connection conexao, final String nomeSubReporte) throws Exception { + public RelatorioVendasPacotesDetalhado(Map parametros, Connection conexao, final String... nomeSubReporte) throws Exception { super(parametros, conexao); this.setCustomDataSource(new DataSource(this) { diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaPacoteVoucher_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaPacoteVoucher_es.properties new file mode 100644 index 000000000..4407482d4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaPacoteVoucher_es.properties @@ -0,0 +1,29 @@ +title = Voucher Compra Pacote +label.nomePacote = Pacote +label.datavenda = Data Venda +label.datapacote = Data Pacote +label.descPacote = Descrição +label.subTotal = Sub-Total +label.desconto = Desconto +label.total = Total +label.itensPacote = Detalhes Pacote +label.itensAdicionaisPacote = Itens Adicionais +label.dadosPagamento = Dados do Pagamento +label.numoperacion = Número Operação +label.local = Local +label.cep = Cep +label.endereco = Endereço +label.cidade = Cidade +label.numero = Número +label.bairro = Bairro +label.complemento = Complemento +label.estado = Estado +label.pais = País +label.referencia = Referência +label.nomRazaoSocial = Nome/Razão Social +label.cpfCnpj = CPF/CNPJ +label.emailVenta = E-mail +label.telefoneVenta = Telefone +label.faxVenta = Fax +label.descFormapago = Forma Pgto +label.valor = Valor \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaPacoteVoucher_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaPacoteVoucher_pt_BR.properties new file mode 100644 index 000000000..4407482d4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaPacoteVoucher_pt_BR.properties @@ -0,0 +1,29 @@ +title = Voucher Compra Pacote +label.nomePacote = Pacote +label.datavenda = Data Venda +label.datapacote = Data Pacote +label.descPacote = Descrição +label.subTotal = Sub-Total +label.desconto = Desconto +label.total = Total +label.itensPacote = Detalhes Pacote +label.itensAdicionaisPacote = Itens Adicionais +label.dadosPagamento = Dados do Pagamento +label.numoperacion = Número Operação +label.local = Local +label.cep = Cep +label.endereco = Endereço +label.cidade = Cidade +label.numero = Número +label.bairro = Bairro +label.complemento = Complemento +label.estado = Estado +label.pais = País +label.referencia = Referência +label.nomRazaoSocial = Nome/Razão Social +label.cpfCnpj = CPF/CNPJ +label.emailVenta = E-mail +label.telefoneVenta = Telefone +label.faxVenta = Fax +label.descFormapago = Forma Pgto +label.valor = Valor \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReporteItemAdicionalVouchers_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReporteItemAdicionalVouchers_es.properties new file mode 100644 index 000000000..414f5a3bb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReporteItemAdicionalVouchers_es.properties @@ -0,0 +1 @@ +label.descitemadicional = Descrição \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReporteItemAdicionalVouchers_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReporteItemAdicionalVouchers_pt_BR.properties new file mode 100644 index 000000000..414f5a3bb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReporteItemAdicionalVouchers_pt_BR.properties @@ -0,0 +1 @@ +label.descitemadicional = Descrição \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReportePacoteTarifasVouchers_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReportePacoteTarifasVouchers_es.properties new file mode 100644 index 000000000..11941d2f1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReportePacoteTarifasVouchers_es.properties @@ -0,0 +1,13 @@ +label.nomPasajero = Passageiro +label.numDoc = Doc +label.tipoDoc = Tipo Doc +label.corrida = Ruta +label.descEmail = E-mail +label.numTelefone = Tel +label.desctipotarifa = Categoria +label.nomConvenio = Convênio +label.asiento = Assento +label.descOrigen = Origem +label.descDestino = Destino +label.fecHorViaje = Hora +label.desctipopassagem = Tipo Passagem \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReportePacoteTarifasVouchers_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReportePacoteTarifasVouchers_pt_BR.properties new file mode 100644 index 000000000..4cae4b9f0 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/SubReportePacoteTarifasVouchers_pt_BR.properties @@ -0,0 +1,13 @@ +label.nomPasajero = Passageiro +label.numDoc = Doc +label.tipoDoc = Tipo Doc +label.corrida = Corrida +label.descEmail = E-mail +label.numTelefone = Tel +label.desctipotarifa = Categoria +label.nomConvenio = Convênio +label.asiento = Assento +label.descOrigen = Origem +label.descDestino = Destino +label.fecHorViaje = Hora +label.desctipopassagem = Tipo Passagem \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/render/RenderRelatorioJasper.java b/src/java/com/rjconsultores/ventaboletos/relatorios/render/RenderRelatorioJasper.java index f7881bdbd..3c0c9c605 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/render/RenderRelatorioJasper.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/render/RenderRelatorioJasper.java @@ -14,6 +14,7 @@ import net.sf.jasperreports.engine.export.JExcelApiExporter; import net.sf.jasperreports.engine.export.JExcelApiExporterParameter; import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.SaidaRelatorio; @@ -26,6 +27,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.LocaleUtil; * */ public class RenderRelatorioJasper { + + private static Logger log = Logger.getLogger(Relatorio.class); protected JasperPrint jasperPrint; @@ -59,11 +62,23 @@ public class RenderRelatorioJasper { ResourceBundle resource = ResourceBundle.getBundle("com.rjconsultores.ventaboletos.relatorios.internacionalizacao." + this.relatorio.getNome(), locale); this.relatorio.getParametros().put(JRParameter.REPORT_RESOURCE_BUNDLE, resource); - if(StringUtils.isNotBlank(this.relatorio.getNomeSubReporte())) { - ResourceBundle resourceSubReporte = ResourceBundle.getBundle("com.rjconsultores.ventaboletos.relatorios.internacionalizacao." + this.relatorio.getNomeSubReporte(), locale); - this.relatorio.getParametros().put("SUBREPORT_RESOURCE_BUNDLE", resourceSubReporte); + /* Adicionar o arquivo de internacionalização para o subreporte quando informado */ + if(this.relatorio.getNomeSubReporte() != null && this.relatorio.getNomeSubReporte().length > 0) { + if(this.relatorio.getNomeSubReporte().length == 1 && StringUtils.isNotBlank(this.relatorio.getNomeSubReporte()[0])) { + ResourceBundle resourceSubReporte = ResourceBundle.getBundle("com.rjconsultores.ventaboletos.relatorios.internacionalizacao." + this.relatorio.getNomeSubReporte()[0], locale); + this.relatorio.getParametros().put("SUBREPORT_RESOURCE_BUNDLE", resourceSubReporte); + } else if(this.relatorio.getNomeSubReporte() != null && this.relatorio.getNomeSubReporte().length > 1) { + int indice = 0; + for (String nomeSubReporte : this.relatorio.getNomeSubReporte()) { + if(StringUtils.isNotBlank(nomeSubReporte)) { + ResourceBundle resourceSubReporte = ResourceBundle.getBundle("com.rjconsultores.ventaboletos.relatorios.internacionalizacao." + nomeSubReporte, locale); + this.relatorio.getParametros().put("SUBREPORT_RESOURCE_BUNDLE" + "_" + (++indice), resourceSubReporte); + } + } + } } } catch (Exception e) { + log.error(e.getMessage()); } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaPacoteVoucher.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaPacoteVoucher.jasper new file mode 100644 index 0000000000000000000000000000000000000000..179655a7361bd5c318d7462695113626090b2371 GIT binary patch literal 51530 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 B(t`j1 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaPacoteVoucher.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaPacoteVoucher.jrxml new file mode 100644 index 000000000..d913a0407 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaPacoteVoucher.jrxml @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReporteItemAdicionalVouchers.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReporteItemAdicionalVouchers.jasper new file mode 100644 index 0000000000000000000000000000000000000000..064b0bc0844c608c17a782865c8ab80636bffe12 GIT binary patch literal 18752 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReporteItemAdicionalVouchers.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReporteItemAdicionalVouchers.jrxml new file mode 100644 index 000000000..bdb2f930f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReporteItemAdicionalVouchers.jrxml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReportePacoteTarifasVouchers.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/SubReportePacoteTarifasVouchers.jasper new file mode 100644 index 0000000000000000000000000000000000000000..2fb2498c0a59addd771602b0274bd5f1de52201b GIT binary patch literal 26210 zcmeHvdwgU?mH(+ElXQ}v%uF&bV31klHJKrq7YNRPb^R6 zZg)QZ@%v{7Qn&7@Tc=K)I&~iP=)3=e7LB7YEEKQ)jlqLWeXOLlrH*OQ;l znNg;M-x7sX8l>5!J2T_vj!;Xct8Vi6OIZ5>z+xi=?p|1z@T(Y%<~8)XA4G* zn#NM;1N(|#!?;PO#lZW{(nP06E;^N5bTZp>;~2L^id(&zqLF5@OxhG!(L_s~@#&mh zA(ES(0-mtKqxitXUuVMT_XQ);`ZkVY|R+F<(y(O%Uo>>Wt`Ve?pC-TLql-ZX`oB86bBjI3qW=hVtgkhSr zNKK4sGn2(UV!A^-Nv1KfazezY1(U;M!SV2^c`B93>CT!|i7baJbvevRjk!K21wnUp zu}jc)q_WfC*~Y-$%3&RHq*ITo6j2YYT4-79bz6%ZY1K__sNB@BE#b1Iy;NV~p@meO zQAsMS!EGq1=_$$BOO2*6Rmi4H#?e^`htfAmT>}HPz~ou0d(`HgSh`o|RPNPI&xDjc zn<)_eU7u3DB-FEJt$vq}+Ea<#5UBLERjN&%!wMB^^@d=jSwCs8CfP&KQHeq}V|Hb; z`9sEdjN0S~GVzg_LeVIdq#kGw>~DYE`4;?JSSaRUeawte8b}pPI=e#UVfW{#-&kUb zSdE#q*kxb3XH7OkEq1XUjP-%|r8LVvGDbBHMcPy)S0hd=VsiO>6J(Jc2QV90BzTPrZz^J#e4enr+9bLs@YL@ZNT>bRPw>+M@ zt(HWT>Pnd_3>GM&Lv=`+9N`j$LgC6Hbp&;hxzgd`3S;7btwb=^EwX*qSRKqVRip|r zq78{;Jd*6$j#f5QY^B^lxN-3$JK2N}l8hImqp(D#C*qq%)h+O1eNYoF$02FVn0*-| z>zW43f~Ud4v3&jj%=&?tanQ(iQ;TsB3R0TnWM<0frbUzBQ!$ Z15zFwAaR=s-}k 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/Relatorio.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/Relatorio.java index 4d1e67492..ecf9cdf7a 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/Relatorio.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/Relatorio.java @@ -27,7 +27,7 @@ public abstract class Relatorio { private IParametros processadorParametros; private Set infoMsg; private JRBeanCollectionDataSource collectionDataSource; - private String nomeSubReporte; + private String[] nomeSubReporte; protected Relatorio(Map parametros, Connection conexao) { this.parametros = parametros; @@ -87,7 +87,7 @@ public abstract class Relatorio { if (!this.conexao.isClosed()) this.conexao.close(); } catch (SQLException e) { - log.error("Erro ao fechar a conexion", e); + log.error("Erro ao fechar a conexion", e); } } @@ -138,11 +138,11 @@ public abstract class Relatorio { this.infoMsg.add(msg); } - public String getNomeSubReporte() { + public String[] getNomeSubReporte() { return nomeSubReporte; } - public void setNomeSubReporte(String nomeSubReporte) { + public void setNomeSubReporte(String[] nomeSubReporte) { this.nomeSubReporte = nomeSubReporte; } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteItemAdicionalVoucher.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteItemAdicionalVoucher.java new file mode 100644 index 000000000..59682c162 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteItemAdicionalVoucher.java @@ -0,0 +1,15 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios.pacote; + +public class PacoteItemAdicionalVoucher { + + private String descitemadicional; + + public String getDescitemadicional() { + return descitemadicional; + } + + public void setDescitemadicional(String descitemadicional) { + this.descitemadicional = descitemadicional; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteTarifaVoucher.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteTarifaVoucher.java new file mode 100644 index 000000000..6f3e8f899 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteTarifaVoucher.java @@ -0,0 +1,149 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios.pacote; + +import org.apache.commons.lang.StringUtils; + +public class PacoteTarifaVoucher { + + private String nomPasajero; + private String numDoc; + private String tipoDoc; + private String idioma; + private String descEmail; + private String numTelefone; + private String desctipotarifa; + private String nomconvenio; + private String asiento; + private String descOrigen; + private String descDestino; + private String fecHorViaje; + private String desccategoria; + private Integer corridaId; + + public String getNomPasajero() { + return nomPasajero; + } + + public void setNomPasajero(String nomPasajero) { + this.nomPasajero = nomPasajero; + } + + public String getNumDoc() { + return numDoc; + } + + public void setNumDoc(String numDoc) { + this.numDoc = numDoc; + } + + public String getTipoDoc() { + return tipoDoc; + } + + public void setTipoDoc(String tipoDoc) { + this.tipoDoc = tipoDoc; + } + + public String getIdioma() { + return idioma; + } + + public void setIdioma(String idioma) { + this.idioma = idioma; + } + + public String getDescEmail() { + return descEmail; + } + + public void setDescEmail(String descEmail) { + this.descEmail = descEmail; + } + + public String getNumTelefone() { + return numTelefone; + } + + public void setNumTelefone(String numTelefone) { + this.numTelefone = numTelefone; + } + + public String getDesctipotarifa() { + return desctipotarifa; + } + + public void setDesctipotarifa(String desctipotarifa) { + this.desctipotarifa = desctipotarifa; + } + + public String getNomconvenio() { + return nomconvenio; + } + + public void setNomconvenio(String nomconvenio) { + this.nomconvenio = nomconvenio; + } + + public String getAsiento() { + return asiento; + } + + public void setAsiento(String asiento) { + this.asiento = asiento; + } + + public String getDescOrigen() { + return descOrigen; + } + + public void setDescOrigen(String descOrigen) { + this.descOrigen = descOrigen; + } + + public String getDescDestino() { + return descDestino; + } + + public void setDescDestino(String descDestino) { + this.descDestino = descDestino; + } + + public String getFecHorViaje() { + return fecHorViaje; + } + + public void setFecHorViaje(String fecHorViaje) { + this.fecHorViaje = fecHorViaje; + } + + public String getTipoNumDoc() { + StringBuilder str = new StringBuilder(); + if(StringUtils.isNotBlank(getTipoDoc())) { + str.append(getTipoDoc()); + } + + if(StringUtils.isNotBlank(getNumDoc())) { + if(str.length() > 0) { + str.append(" - "); + } + str.append(getNumDoc()); + } + return str.toString(); + } + + public String getDesccategoria() { + return desccategoria; + } + + public void setDesccategoria(String desccategoria) { + this.desccategoria = desccategoria; + } + + public Integer getCorridaId() { + return corridaId; + } + + public void setCorridaId(Integer corridaId) { + this.corridaId = corridaId; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteVoucher.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteVoucher.java new file mode 100644 index 000000000..0feec49ed --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/pacote/PacoteVoucher.java @@ -0,0 +1,395 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios.pacote; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.rjconsultores.ventaboletos.enums.SituacaoVendaPacote; + +public class PacoteVoucher { + + private String nombempresa; + private Date datavenda; + private Date datapacote; + private String nomePacote; + private String descPacote; + private BigDecimal subTotal; + private BigDecimal desconto; + private BigDecimal total; + private String nombusuario; + private String numoperacion; + private String descFormapago1; + private String descFormapago2; + private String descFormapago3; + private BigDecimal valorFormapago1; + private BigDecimal valorFormapago2; + private BigDecimal valorFormapago3; + private SituacaoVendaPacote situacaoVendaPacote; + + /* Dados endereço apanhe */ + private String descLocalEnderecoApanhe; + private String cepEnderecoApanhe; + private String enderecoEnderecoApanhe; + private String cidadeEnderecoApanhe; + private String numeroEnderecoApanhe; + private String bairroEnderecoApanhe; + private String complementoEnderecoApanhe; + private String referenciaEnderecoApanhe; + private String desctelefoneEnderecoApanhe; + + /* Dados Cliente Pacote */ + private String razaoSocialClientePacote; + private String cpfCnpjClientePacote; + private String descTipoPessoaClientePacote; + private String descemailClientePacote; + private String desctelefoneClientePacote; + private String descfaxClientePacote; + private String cepClientePacote; + private String enderecoClientePacote; + private String numeroClientePacote; + private String complementoClientePacote; + private String paisClientePacote; + private String estadoClientePacote; + private String cidadeClientePacote; + private String bairroClientePacote; + + private List pacoteTarifasVouchers; + private List itemAdicionalVouchers; + + public String getNombempresa() { + return nombempresa; + } + + public void setNombempresa(String nombempresa) { + this.nombempresa = nombempresa; + } + + public Date getDatavenda() { + return datavenda; + } + + public void setDatavenda(Date datavenda) { + this.datavenda = datavenda; + } + + public Date getDatapacote() { + return datapacote; + } + + public void setDatapacote(Date datapacote) { + this.datapacote = datapacote; + } + + public String getNomePacote() { + return nomePacote; + } + + public void setNomePacote(String nomePacote) { + this.nomePacote = nomePacote; + } + + public String getDescPacote() { + return descPacote; + } + + public void setDescPacote(String descPacote) { + this.descPacote = descPacote; + } + + public BigDecimal getSubTotal() { + return subTotal; + } + + public void setSubTotal(BigDecimal subTotal) { + this.subTotal = subTotal; + } + + public BigDecimal getDesconto() { + return desconto; + } + + public void setDesconto(BigDecimal desconto) { + this.desconto = desconto; + } + + public BigDecimal getTotal() { + return total; + } + + public void setTotal(BigDecimal total) { + this.total = total; + } + + public String getNombusuario() { + return nombusuario; + } + + public void setNombusuario(String nombusuario) { + this.nombusuario = nombusuario; + } + + public List getPacoteTarifasVouchers() { + return pacoteTarifasVouchers; + } + + public void setPacoteTarifasVouchers(List pacoteTarifasVouchers) { + this.pacoteTarifasVouchers = pacoteTarifasVouchers; + } + + public List getItemAdicionalVouchers() { + return itemAdicionalVouchers; + } + + public void setItemAdicionalVouchers(List itemAdicionalVouchers) { + this.itemAdicionalVouchers = itemAdicionalVouchers; + } + + public String getNumoperacion() { + return numoperacion; + } + + public void setNumoperacion(String numoperacion) { + this.numoperacion = numoperacion; + } + + public String getDescLocalEnderecoApanhe() { + return descLocalEnderecoApanhe; + } + + public void setDescLocalEnderecoApanhe(String descLocalEnderecoApanhe) { + this.descLocalEnderecoApanhe = descLocalEnderecoApanhe; + } + + public String getCepEnderecoApanhe() { + return cepEnderecoApanhe; + } + + public void setCepEnderecoApanhe(String cepEnderecoApanhe) { + this.cepEnderecoApanhe = cepEnderecoApanhe; + } + + public String getEnderecoEnderecoApanhe() { + return enderecoEnderecoApanhe; + } + + public void setEnderecoEnderecoApanhe(String enderecoEnderecoApanhe) { + this.enderecoEnderecoApanhe = enderecoEnderecoApanhe; + } + + public String getCidadeEnderecoApanhe() { + return cidadeEnderecoApanhe; + } + + public void setCidadeEnderecoApanhe(String cidadeEnderecoApanhe) { + this.cidadeEnderecoApanhe = cidadeEnderecoApanhe; + } + + public String getNumeroEnderecoApanhe() { + return numeroEnderecoApanhe; + } + + public void setNumeroEnderecoApanhe(String numeroEnderecoApanhe) { + this.numeroEnderecoApanhe = numeroEnderecoApanhe; + } + + public String getBairroEnderecoApanhe() { + return bairroEnderecoApanhe; + } + + public void setBairroEnderecoApanhe(String bairroEnderecoApanhe) { + this.bairroEnderecoApanhe = bairroEnderecoApanhe; + } + + public String getComplementoEnderecoApanhe() { + return complementoEnderecoApanhe; + } + + public void setComplementoEnderecoApanhe(String complementoEnderecoApanhe) { + this.complementoEnderecoApanhe = complementoEnderecoApanhe; + } + + public String getReferenciaEnderecoApanhe() { + return referenciaEnderecoApanhe; + } + + public void setReferenciaEnderecoApanhe(String referenciaEnderecoApanhe) { + this.referenciaEnderecoApanhe = referenciaEnderecoApanhe; + } + + public String getRazaoSocialClientePacote() { + return razaoSocialClientePacote; + } + + public void setRazaoSocialClientePacote(String razaoSocialClientePacote) { + this.razaoSocialClientePacote = razaoSocialClientePacote; + } + + public String getCpfCnpjClientePacote() { + return cpfCnpjClientePacote; + } + + public void setCpfCnpjClientePacote(String cpfCnpjClientePacote) { + this.cpfCnpjClientePacote = cpfCnpjClientePacote; + } + + public String getDescTipoPessoaClientePacote() { + return descTipoPessoaClientePacote; + } + + public void setDescTipoPessoaClientePacote(String descTipoPessoaClientePacote) { + this.descTipoPessoaClientePacote = descTipoPessoaClientePacote; + } + + public String getDescemailClientePacote() { + return descemailClientePacote; + } + + public void setDescemailClientePacote(String descemailClientePacote) { + this.descemailClientePacote = descemailClientePacote; + } + + public String getDesctelefoneClientePacote() { + return desctelefoneClientePacote; + } + + public void setDesctelefoneClientePacote(String desctelefoneClientePacote) { + this.desctelefoneClientePacote = desctelefoneClientePacote; + } + + public String getDescfaxClientePacote() { + return descfaxClientePacote; + } + + public void setDescfaxClientePacote(String descfaxClientePacote) { + this.descfaxClientePacote = descfaxClientePacote; + } + + public String getCepClientePacote() { + return cepClientePacote; + } + + public void setCepClientePacote(String cepClientePacote) { + this.cepClientePacote = cepClientePacote; + } + + public String getEnderecoClientePacote() { + return enderecoClientePacote; + } + + public void setEnderecoClientePacote(String enderecoClientePacote) { + this.enderecoClientePacote = enderecoClientePacote; + } + + public String getNumeroClientePacote() { + return numeroClientePacote; + } + + public void setNumeroClientePacote(String numeroClientePacote) { + this.numeroClientePacote = numeroClientePacote; + } + + public String getComplementoClientePacote() { + return complementoClientePacote; + } + + public void setComplementoClientePacote(String complementoClientePacote) { + this.complementoClientePacote = complementoClientePacote; + } + + public String getPaisClientePacote() { + return paisClientePacote; + } + + public void setPaisClientePacote(String paisClientePacote) { + this.paisClientePacote = paisClientePacote; + } + + public String getEstadoClientePacote() { + return estadoClientePacote; + } + + public void setEstadoClientePacote(String estadoClientePacote) { + this.estadoClientePacote = estadoClientePacote; + } + + public String getCidadeClientePacote() { + return cidadeClientePacote; + } + + public void setCidadeClientePacote(String cidadeClientePacote) { + this.cidadeClientePacote = cidadeClientePacote; + } + + public String getBairroClientePacote() { + return bairroClientePacote; + } + + public void setBairroClientePacote(String bairroClientePacote) { + this.bairroClientePacote = bairroClientePacote; + } + + public String getDescFormapago1() { + return descFormapago1; + } + + public void setDescFormapago1(String descFormapago1) { + this.descFormapago1 = descFormapago1; + } + + public String getDescFormapago2() { + return descFormapago2; + } + + public void setDescFormapago2(String descFormapago2) { + this.descFormapago2 = descFormapago2; + } + + public String getDescFormapago3() { + return descFormapago3; + } + + public void setDescFormapago3(String descFormapago3) { + this.descFormapago3 = descFormapago3; + } + + public BigDecimal getValorFormapago1() { + return valorFormapago1; + } + + public void setValorFormapago1(BigDecimal valorFormapago1) { + this.valorFormapago1 = valorFormapago1; + } + + public BigDecimal getValorFormapago2() { + return valorFormapago2; + } + + public void setValorFormapago2(BigDecimal valorFormapago2) { + this.valorFormapago2 = valorFormapago2; + } + + public BigDecimal getValorFormapago3() { + return valorFormapago3; + } + + public void setValorFormapago3(BigDecimal valorFormapago3) { + this.valorFormapago3 = valorFormapago3; + } + + public String getDesctelefoneEnderecoApanhe() { + return desctelefoneEnderecoApanhe; + } + + public void setDesctelefoneEnderecoApanhe(String desctelefoneEnderecoApanhe) { + this.desctelefoneEnderecoApanhe = desctelefoneEnderecoApanhe; + } + + public SituacaoVendaPacote getSituacaoVendaPacote() { + return situacaoVendaPacote; + } + + public void setSituacaoVendaPacote(SituacaoVendaPacote situacaoVendaPacote) { + this.situacaoVendaPacote = situacaoVendaPacote; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/BusquedaAlterarEnderecoApanheController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/BusquedaManutencaoPacoteController.java similarity index 90% rename from src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/BusquedaAlterarEnderecoApanheController.java rename to src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/BusquedaManutencaoPacoteController.java index fb5b26da6..e0c2500dd 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/BusquedaAlterarEnderecoApanheController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/BusquedaManutencaoPacoteController.java @@ -25,13 +25,13 @@ import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchOb import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEnderecoApanhe; -@Controller("busquedaAlterarEnderecoApanheController") +@Controller("busquedaManutencaoPacoteController") @Scope("prototype") -public class BusquedaAlterarEnderecoApanheController extends MyGenericForwardComposer { +public class BusquedaManutencaoPacoteController extends MyGenericForwardComposer { private static final long serialVersionUID = 1L; - private static final Logger log = LoggerFactory.getLogger(BusquedaAlterarEnderecoApanheController.class); + private static final Logger log = LoggerFactory.getLogger(BusquedaManutencaoPacoteController.class); @Autowired private transient PagedListWrapper plwEnderecoApanhe; @@ -68,8 +68,8 @@ public class BusquedaAlterarEnderecoApanheController extends MyGenericForwardCom args.put("enderecoApanhe", t); args.put("enderecoApanheList", enderecoApanheList); - openWindow("/gui/senda_amigo/editarAlterarEnderecoApanhe.zul", - Labels.getLabel("editarAlterarEnderecoApanheController.window.title"), args, MODAL); + openWindow("/gui/senda_amigo/editarManutencaoPacote.zul", + Labels.getLabel("editarManutencaoPacoteController.window.title"), args, MODAL); } private void refreshLista() { @@ -85,7 +85,7 @@ public class BusquedaAlterarEnderecoApanheController extends MyGenericForwardCom if (enderecoApanheList.getData().length == 0) { try { Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), - Labels.getLabel("busquedaAlterarEnderecoApanheController.window.title"), + Labels.getLabel("busquedaManutencaoPacoteController.window.title"), Messagebox.OK, Messagebox.INFORMATION); } catch (InterruptedException e) { log.error(e.getMessage(), e.getCause()); diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/EditarAlterarEnderecoApanheController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/EditarManutencaoPacoteController.java similarity index 72% rename from src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/EditarAlterarEnderecoApanheController.java rename to src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/EditarManutencaoPacoteController.java index 507acce41..84e33ed06 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/EditarAlterarEnderecoApanheController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pacote/EditarManutencaoPacoteController.java @@ -1,5 +1,13 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.pacote; +import java.util.HashMap; +import java.util.Map; + +import javax.sql.DataSource; + +import net.sf.jasperreports.engine.JasperReport; +import net.sf.jasperreports.engine.util.JRLoader; + import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; @@ -14,19 +22,24 @@ import org.zkoss.zul.Radio; import com.rjconsultores.ventaboletos.entidad.EnderecoApanhe; import com.rjconsultores.ventaboletos.enums.LocalEnderecoApanhe; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendaPacoteVoucher; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EnderecoApanheService; import com.rjconsultores.ventaboletos.web.utilerias.MyDatebox; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; -@Controller("editarAlterarEnderecoApanheController") +@Controller("editarManutencaoPacoteController") @Scope("prototype") -public class EditarAlterarEnderecoApanheController extends MyGenericForwardComposer { +public class EditarManutencaoPacoteController extends MyGenericForwardComposer { - private static Logger log = Logger.getLogger(EditarAlterarEnderecoApanheController.class); + private static Logger log = Logger.getLogger(EditarManutencaoPacoteController.class); private static final long serialVersionUID = 1L; + + @Autowired + private DataSource dataSourceRead; @Autowired private EnderecoApanheService enderecoApanheService; @@ -75,7 +88,7 @@ public class EditarAlterarEnderecoApanheController extends MyGenericForwardCompo enderecoApanheOriginal = (EnderecoApanhe) enderecoApanhe.clone(); } - public void onClick$btnSalvar(Event ev) throws InterruptedException { + public void onClick$btnSalvarEnderecoApanhe(Event ev) throws InterruptedException { txtDeschotel.getValue(); txtBairro.getValue(); txtCep.getValue(); @@ -106,16 +119,15 @@ public class EditarAlterarEnderecoApanheController extends MyGenericForwardCompo enderecoApanheList.removeItem(enderecoApanheOriginal); Messagebox.show( - Labels.getLabel("editarAlterarEnderecoApanheController.MSG.suscribirOK"), - Labels.getLabel("editarAlterarEnderecoApanheController.window.title"), + Labels.getLabel("editarManutencaoPacoteController.MSG.suscribirOK"), + Labels.getLabel("editarManutencaoPacoteController.window.title"), Messagebox.OK, Messagebox.INFORMATION); - closeWindow(); } catch (Exception ex) { log.error("editarHotelController: " + ex); Messagebox.show( Labels.getLabel("MSG.Error"), - Labels.getLabel("editarAlterarEnderecoApanheController.window.title"), + Labels.getLabel("editarManutencaoPacoteController.window.title"), Messagebox.OK, Messagebox.ERROR); } } @@ -123,8 +135,8 @@ public class EditarAlterarEnderecoApanheController extends MyGenericForwardCompo public void onClick$btnApagar(Event ev) { try { int resp = Messagebox.show( - Labels.getLabel("editarAlterarEnderecoApanheController.MSG.borrarPergunta"), - Labels.getLabel("editarAlterarEnderecoApanheController.window.title"), + Labels.getLabel("editarManutencaoPacoteController.MSG.borrarPergunta"), + Labels.getLabel("editarManutencaoPacoteController.window.title"), Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); if (resp == Messagebox.YES) { @@ -132,8 +144,8 @@ public class EditarAlterarEnderecoApanheController extends MyGenericForwardCompo enderecoApanheService.borrar(enderecoApanhe); Messagebox.show( - Labels.getLabel("editarAlterarEnderecoApanheController.MSG.borrarOK"), - Labels.getLabel("editarAlterarEnderecoApanheController.window.title"), + Labels.getLabel("editarManutencaoPacoteController.MSG.borrarOK"), + Labels.getLabel("editarManutencaoPacoteController.window.title"), Messagebox.OK, Messagebox.INFORMATION); enderecoApanheList.removeItem(enderecoApanhe); @@ -144,6 +156,29 @@ public class EditarAlterarEnderecoApanheController extends MyGenericForwardCompo log.error(ex); } } + + public void onClick$btnEmitirVoucherVendaPacote(Event ev) { + try { + Map parametros = new HashMap(); + parametros.put("vendapacoteId", enderecoApanhe.getVendaPacote().getVendapacoteId()); + + JasperReport subReportePacoteTarifasVouchers = (JasperReport) JRLoader.loadObject(this.getClass().getResourceAsStream("/com/rjconsultores/ventaboletos/relatorios/templates/SubReportePacoteTarifasVouchers.jasper")); + parametros.put("subReportePacoteTarifasVouchers", subReportePacoteTarifasVouchers); + + JasperReport subReporteItemAdicionalVouchers = (JasperReport) JRLoader.loadObject(this.getClass().getResourceAsStream("/com/rjconsultores/ventaboletos/relatorios/templates/SubReporteItemAdicionalVouchers.jasper")); + parametros.put("subReporteItemAdicionalVouchers", subReporteItemAdicionalVouchers); + + Relatorio relatorio = new RelatorioVendaPacoteVoucher(parametros, dataSourceRead.getConnection(), "SubReportePacoteTarifasVouchers", "SubReporteItemAdicionalVouchers"); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("RelatorioVendaPacoteVoucher.window.title"), args, MODAL); + } catch (Exception ex) { + log.error(ex); + } + } public MyTextbox getTxtCep() { return txtCep; diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pacote/ItemMenuAlterarEnderecoApanhe.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pacote/ItemMenuAlterarEnderecoApanhe.java deleted file mode 100644 index ab40caed9..000000000 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pacote/ItemMenuAlterarEnderecoApanhe.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.rjconsultores.ventaboletos.web.utilerias.menu.item.pacote; - -import org.zkoss.util.resource.Labels; - -import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; -import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; - -public class ItemMenuAlterarEnderecoApanhe extends DefaultItemMenuSistema { - - public ItemMenuAlterarEnderecoApanhe() { - super("indexController.mniAlterarEnderecoApanhe.label"); - } - - @Override - public String getClaveMenu() { - return "COM.RJCONSULTORES.ADMINISTRACION.GUI.CLIENTE.MENU.CLIENTEPACOTE.ALTERARENDERECOAPANHE"; - } - - @Override - public void ejecutar() { - PantallaUtileria.openWindow("/gui/senda_amigo/busquedaAlterarEnderecoApanhe.zul", - Labels.getLabel("busquedaAlterarEnderecoApanheController.window.title"), getArgs(), desktop); - - } - -} - diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pacote/ItemMenuManutencaoPacote.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pacote/ItemMenuManutencaoPacote.java new file mode 100644 index 000000000..c42d38d50 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pacote/ItemMenuManutencaoPacote.java @@ -0,0 +1,27 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.pacote; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuManutencaoPacote extends DefaultItemMenuSistema { + + public ItemMenuManutencaoPacote() { + super("indexController.mniManutencaoPacote.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.CLIENTE.MENU.CLIENTEPACOTE.MANUTENCAOPACOTE"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/senda_amigo/busquedaManutencaoPacote.zul", + Labels.getLabel("busquedaManutencaoPacoteController.window.title"), getArgs(), desktop); + + } + +} + diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index ef86ad58d..c6ce84182 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -375,6 +375,9 @@ com.rjconsultores.ventaboletos.entidad.PrecoApanhe com.rjconsultores.ventaboletos.entidad.EnderecoApanhe com.rjconsultores.ventaboletos.entidad.VendaPacote + com.rjconsultores.ventaboletos.entidad.ClientePacote + com.rjconsultores.ventaboletos.entidad.TarifaVendaPacote + com.rjconsultores.ventaboletos.entidad.PacoteFormapago com.rjconsultores.ventaboletos.entidad.FiscalTotnaofiscalEmpresa com.rjconsultores.ventaboletos.entidad.FiscalFormapagoEmpresa diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 3b85824db..fc802d070 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -249,7 +249,7 @@ indexController.mniRelatorioVendasPacotesBoletos.label = Ventas de Pacotes - Bol indexController.mniRelatorioDiferencasTransferencias.label = Relatório de Diferenças em Transferências indexController.mniSubMenuClientePacote.label=Pacote -indexController.mniAlterarEnderecoApanhe.label=Alterar Endereço Apanhe +indexController.mniManutencaoPacote.label=Manutenção Pacote #PARTE REALIZADA POR MANUEL indexController.mnCortesias.label = Cortesias para empleados @@ -5272,45 +5272,47 @@ editarPrecoApanheController.error.verificarHotelColoniaCiudadInformado.label = I editarPrecoApanheController.MSG.suscribirOK = Preço Apanhe se registró exitosamente # Alterar Preco Apanhe -busquedaAlterarEnderecoApanheController.window.title = Búsqueda Endereço Apanhe -busquedaAlterarEnderecoApanheController.btnRefresh.tooltiptext = Actualizar -busquedaAlterarEnderecoApanheController.btnNovo.tooltiptext = Incluir -busquedaAlterarEnderecoApanheController.btnCerrar.tooltiptext = Cerrar -busquedaAlterarEnderecoApanheController.btnPesquisa.label = Búsqueda -busquedaAlterarEnderecoApanheController.lhId.label = ID -busquedaAlterarEnderecoApanheController.lhLocalEnderecoApanhe.label = Local Apanhe -busquedaAlterarEnderecoApanheController.lhDeschotel.label = Hotel -busquedaAlterarEnderecoApanheController.lhColonia.label = Colonia -busquedaAlterarEnderecoApanheController.lhCiudad.label = Ciudad -busquedaAlterarEnderecoApanheController.lhNumero.label = Número -busquedaAlterarEnderecoApanheController.lhComplemento.label = Complemento -busquedaAlterarEnderecoApanheController.lhCep.label = Cep -busquedaAlterarEnderecoApanheController.lhEndereco.label = Logradouro -busquedaAlterarEnderecoApanheController.lhReferencia.label = Referência -busquedaAlterarEnderecoApanheController.lhNumoperacion.label = Num Operacion +busquedaManutencaoPacoteController.window.title = Búsqueda Endereço Apanhe +busquedaManutencaoPacoteController.btnRefresh.tooltiptext = Actualizar +busquedaManutencaoPacoteController.btnNovo.tooltiptext = Incluir +busquedaManutencaoPacoteController.btnCerrar.tooltiptext = Cerrar +busquedaManutencaoPacoteController.btnPesquisa.label = Búsqueda +busquedaManutencaoPacoteController.lhId.label = ID +busquedaManutencaoPacoteController.lhLocalEnderecoApanhe.label = Local Apanhe +busquedaManutencaoPacoteController.lhDeschotel.label = Hotel +busquedaManutencaoPacoteController.lhColonia.label = Colonia +busquedaManutencaoPacoteController.lhCiudad.label = Ciudad +busquedaManutencaoPacoteController.lhNumero.label = Número +busquedaManutencaoPacoteController.lhComplemento.label = Complemento +busquedaManutencaoPacoteController.lhCep.label = Cep +busquedaManutencaoPacoteController.lhEndereco.label = Logradouro +busquedaManutencaoPacoteController.lhReferencia.label = Referência +busquedaManutencaoPacoteController.lhNumoperacion.label = Num Operacion # Editar Preco Apanhe -editarAlterarEnderecoApanheController.window.title = Alterar Endereço de Apanhe -editarAlterarEnderecoApanheController.btnApagar.tooltiptext = Borrar -editarAlterarEnderecoApanheController.btnSalvar.tooltiptext = Guardar -editarAlterarEnderecoApanheController.btnFechar.tooltiptext = Cerrar -editarAlterarEnderecoApanheController.lhLocalEnderecoApanhe.label = Local Apanhe -editarAlterarEnderecoApanheController.lhLocalApanheEmCasa.label = Apanhe Em Casa -editarAlterarEnderecoApanheController.lhLocalApanheHotel.label = Hotel -editarAlterarEnderecoApanheController.lhLocalApanheRegiaoMetropolitana.label = Região Metropolitana -editarAlterarEnderecoApanheController.lhLocalApanheNenhum.label = Nenhum -editarAlterarEnderecoApanheController.lhHotel.label = Hotel -editarAlterarEnderecoApanheController.lhColonia.label = Colonia -editarAlterarEnderecoApanheController.lhCiudad.label = Ciudad -editarAlterarEnderecoApanheController.lhPreco.label = Precio -editarAlterarEnderecoApanheController.MSG.suscribirOK = Alteración de la Dirección de Coja Registrado con Éxito. -editarAlterarEnderecoApanheController.lhNumero.label = Número -editarAlterarEnderecoApanheController.lhComplemento.label = Complemento -editarAlterarEnderecoApanheController.lhCep.label = Cep -editarAlterarEnderecoApanheController.lhEndereco.label = Logradouro -editarAlterarEnderecoApanheController.lhReferencia.label = Referencia -editarAlterarEnderecoApanheController.lhNumoperacion.label = Num Operacion -editarAlterarEnderecoApanheController.lhDataPacote.label = Fecha Pacote +editarManutencaoPacoteController.window.title = Alterar Endereço de Apanhe +editarManutencaoPacoteController.btnApagar.tooltiptext = Borrar +editarManutencaoPacoteController.btnSalvar.tooltiptext = Guardar Endereço Apanhe +editarManutencaoPacoteController.btnFechar.tooltiptext = Cerrar +editarManutencaoPacoteController.btnVoucher.tooltiptext = Voucher +editarManutencaoPacoteController.tab.enderecoApanhe = Endereço Apanhe +editarManutencaoPacoteController.lhLocalEnderecoApanhe.label = Local Apanhe +editarManutencaoPacoteController.lhLocalApanheEmCasa.label = Apanhe Em Casa +editarManutencaoPacoteController.lhLocalApanheHotel.label = Hotel +editarManutencaoPacoteController.lhLocalApanheRegiaoMetropolitana.label = Região Metropolitana +editarManutencaoPacoteController.lhLocalApanheNenhum.label = Nenhum +editarManutencaoPacoteController.lhHotel.label = Hotel +editarManutencaoPacoteController.lhColonia.label = Colonia +editarManutencaoPacoteController.lhCiudad.label = Ciudad +editarManutencaoPacoteController.lhPreco.label = Precio +editarManutencaoPacoteController.MSG.suscribirOK = Alteración de la Dirección de Coja Registrado con Éxito. +editarManutencaoPacoteController.lhNumero.label = Número +editarManutencaoPacoteController.lhComplemento.label = Complemento +editarManutencaoPacoteController.lhCep.label = Cep +editarManutencaoPacoteController.lhEndereco.label = Logradouro +editarManutencaoPacoteController.lhReferencia.label = Referencia +editarManutencaoPacoteController.lhNumoperacion.label = Num Operacion +editarManutencaoPacoteController.lhDataPacote.label = Fecha Pacote # Relatorio Vendas Pacotes Resumido relatorioVendasPacotesResumidoController.window.title = Relatório Vendas de Pacotes - Resumido @@ -5330,4 +5332,7 @@ relatorioVendasPacotesBoletosController.window.title = Relatório Vendas de Paco relatorioVendasPacotesBoletosController.lbDataIni.value = Fecha Inicio relatorioVendasPacotesBoletosController.lbDataFin.value = Fecha Final relatorioVendasPacotesBoletosController.lblEmpresa.value = Empresa -relatorioVendasPacotesBoletosController.lblPacote.value = Pacote \ No newline at end of file +relatorioVendasPacotesBoletosController.lblPacote.value = Pacote + +# Relatorio Venda Pacote Voucher +RelatorioVendaPacoteVoucher.window.title = Voucher Venda Pacote \ No newline at end of file diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 9805e8fcc..23d2e15bf 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -261,7 +261,7 @@ indexController.mniRelgerencialEmpresa.label=Relatorio Gerencial indexController.mniImportacionFiscal.label=Importação Fiscal indexController.mniSubMenuClientePacote.label=Pacote -indexController.mniAlterarEnderecoApanhe.label=Alterar Endereço Apanhe +indexController.mniManutencaoPacote.label=Manutenção Pacote #PARTE REALIZADA POR MANUEL indexController.mnCortesias.label = Cortesias Para Funcionários @@ -5410,47 +5410,49 @@ editarRelgerencialEmpresaController.MSG.erroTipoRelgerencial=Tipo Relatório Ger filtroRelatorioAgenciasNaoImportadas.lbDataIni.value = Data Inicio filtroRelatorioAgenciasNaoImportadas.lbDataFin.value = Data Final -# Alterar Preco Apanhe -busquedaAlterarEnderecoApanheController.window.title = Pesquisar Endereço Apanhe -busquedaAlterarEnderecoApanheController.btnRefresh.tooltiptext = Atualizar -busquedaAlterarEnderecoApanheController.btnNovo.tooltiptext = Incluir -busquedaAlterarEnderecoApanheController.btnCerrar.tooltiptext = Fechar -busquedaAlterarEnderecoApanheController.btnPesquisa.label = Pesquisa -busquedaAlterarEnderecoApanheController.lhId.label = ID -busquedaAlterarEnderecoApanheController.lhLocalEnderecoApanhe.label = Local Apanhe -busquedaAlterarEnderecoApanheController.lhDeschotel.label = Hotel -busquedaAlterarEnderecoApanheController.lhColonia.label = Bairro -busquedaAlterarEnderecoApanheController.lhCiudad.label = Cidade -busquedaAlterarEnderecoApanheController.lhNumero.label = Número -busquedaAlterarEnderecoApanheController.lhComplemento.label = Complemento -busquedaAlterarEnderecoApanheController.lhCep.label = Cep -busquedaAlterarEnderecoApanheController.lhEndereco.label = Logradouro -busquedaAlterarEnderecoApanheController.lhReferencia.label = Referência -busquedaAlterarEnderecoApanheController.lhNumoperacion.label = Localizador -busquedaAlterarEnderecoApanheController.lhDataPacote.label = Data Pacote +# Buscar Manutenção Pacote +busquedaManutencaoPacoteController.window.title = Pesquisar Venda Pacotes +busquedaManutencaoPacoteController.btnRefresh.tooltiptext = Atualizar +busquedaManutencaoPacoteController.btnNovo.tooltiptext = Incluir +busquedaManutencaoPacoteController.btnCerrar.tooltiptext = Fechar +busquedaManutencaoPacoteController.btnPesquisa.label = Pesquisa +busquedaManutencaoPacoteController.lhId.label = ID +busquedaManutencaoPacoteController.lhLocalEnderecoApanhe.label = Local Apanhe +busquedaManutencaoPacoteController.lhDeschotel.label = Hotel +busquedaManutencaoPacoteController.lhColonia.label = Bairro +busquedaManutencaoPacoteController.lhCiudad.label = Cidade +busquedaManutencaoPacoteController.lhNumero.label = Número +busquedaManutencaoPacoteController.lhComplemento.label = Complemento +busquedaManutencaoPacoteController.lhCep.label = Cep +busquedaManutencaoPacoteController.lhEndereco.label = Logradouro +busquedaManutencaoPacoteController.lhReferencia.label = Referência +busquedaManutencaoPacoteController.lhNumoperacion.label = Localizador +busquedaManutencaoPacoteController.lhDataPacote.label = Data Pacote -# Editar Preco Apanhe -editarAlterarEnderecoApanheController.window.title = Alterar Endereço de Apanhe -editarAlterarEnderecoApanheController.btnApagar.tooltiptext = Eliminar -editarAlterarEnderecoApanheController.btnSalvar.tooltiptext = Salvar -editarAlterarEnderecoApanheController.btnFechar.tooltiptext = Fechar -editarAlterarEnderecoApanheController.lhLocalEnderecoApanhe.label = Local Apanhe -editarAlterarEnderecoApanheController.lhLocalApanheEmCasa.label = Apanhe Em Casa -editarAlterarEnderecoApanheController.lhLocalApanheHotel.label = Hotel -editarAlterarEnderecoApanheController.lhLocalApanheRegiaoMetropolitana.label = Região Metropolitana -editarAlterarEnderecoApanheController.lhLocalApanheNenhum.label = Nenhum -editarAlterarEnderecoApanheController.lhHotel.label = Hotel -editarAlterarEnderecoApanheController.lhColonia.label = Bairro -editarAlterarEnderecoApanheController.lhCiudad.label = Cidade -editarAlterarEnderecoApanheController.lhPreco.label = Preço -editarAlterarEnderecoApanheController.MSG.suscribirOK = Alteração do Endereço de Apanhe Registrado com Sucesso. -editarAlterarEnderecoApanheController.lhNumero.label = Número -editarAlterarEnderecoApanheController.lhComplemento.label = Complemento -editarAlterarEnderecoApanheController.lhCep.label = Cep -editarAlterarEnderecoApanheController.lhEndereco.label = Logradouro -editarAlterarEnderecoApanheController.lhReferencia.label = Referência -editarAlterarEnderecoApanheController.lhNumoperacion.label = Localizador -editarAlterarEnderecoApanheController.lhDataPacote.label = Data Pacote +# Editar Manutenção Pacote +editarManutencaoPacoteController.window.title = Manutenção Venda Pacote +editarManutencaoPacoteController.btnApagar.tooltiptext = Eliminar +editarManutencaoPacoteController.btnSalvar.tooltiptext = Salvar Endereço Apanhe +editarManutencaoPacoteController.btnFechar.tooltiptext = Fechar +editarManutencaoPacoteController.btnVoucher.tooltiptext = Voucher +editarManutencaoPacoteController.tab.enderecoApanhe = Endereço Apanhe +editarManutencaoPacoteController.lhLocalEnderecoApanhe.label = Local Apanhe +editarManutencaoPacoteController.lhLocalApanheEmCasa.label = Apanhe Em Casa +editarManutencaoPacoteController.lhLocalApanheHotel.label = Hotel +editarManutencaoPacoteController.lhLocalApanheRegiaoMetropolitana.label = Região Metropolitana +editarManutencaoPacoteController.lhLocalApanheNenhum.label = Nenhum +editarManutencaoPacoteController.lhHotel.label = Hotel +editarManutencaoPacoteController.lhColonia.label = Bairro +editarManutencaoPacoteController.lhCiudad.label = Cidade +editarManutencaoPacoteController.lhPreco.label = Preço +editarManutencaoPacoteController.MSG.suscribirOK = Alteração do Endereço de Apanhe Registrado com Sucesso. +editarManutencaoPacoteController.lhNumero.label = Número +editarManutencaoPacoteController.lhComplemento.label = Complemento +editarManutencaoPacoteController.lhCep.label = Cep +editarManutencaoPacoteController.lhEndereco.label = Logradouro +editarManutencaoPacoteController.lhReferencia.label = Referência +editarManutencaoPacoteController.lhNumoperacion.label = Localizador +editarManutencaoPacoteController.lhDataPacote.label = Data Pacote # Relatorio Vendas Pacotes Resumido relatorioVendasPacotesResumidoController.window.title = Relatório Vendas de Pacotes - Resumido @@ -5470,4 +5472,7 @@ relatorioVendasPacotesBoletosController.window.title = Relatório Vendas de Paco relatorioVendasPacotesBoletosController.lbDataIni.value = Data Inicial relatorioVendasPacotesBoletosController.lbDataFin.value = Data Final relatorioVendasPacotesBoletosController.lblEmpresa.value = Empresa -relatorioVendasPacotesBoletosController.lblPacote.value = Pacote \ No newline at end of file +relatorioVendasPacotesBoletosController.lblPacote.value = Pacote + +# Relatorio Venda Pacote Voucher +RelatorioVendaPacoteVoucher.window.title = Voucher Venda Pacote \ No newline at end of file diff --git a/web/gui/senda_amigo/busquedaAlterarEnderecoApanhe.zul b/web/gui/senda_amigo/busquedaManutencaoPacote.zul similarity index 59% rename from web/gui/senda_amigo/busquedaAlterarEnderecoApanhe.zul rename to web/gui/senda_amigo/busquedaManutencaoPacote.zul index 34d301fa1..058879983 100644 --- a/web/gui/senda_amigo/busquedaAlterarEnderecoApanhe.zul +++ b/web/gui/senda_amigo/busquedaManutencaoPacote.zul @@ -1,19 +1,19 @@ - + -