Merge pull request 'AL2680' (!150) from AL2680 into master

Reviewed-on: http://18.235.188.113:3000/adm/VentaBoletosAdm/pulls/150
Reviewed-by: pinheiro <valdevir@rjconsultores.com.br>
master 1.5.0
Valdir Cordeiro 2023-05-12 22:13:26 +00:00
commit 54c01ab917
7 changed files with 382 additions and 27 deletions

View File

@ -4,12 +4,12 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId> <groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId> <artifactId>ventaboletosadm</artifactId>
<version>1.4.8</version> <version>1.5.0</version>
<packaging>war</packaging> <packaging>war</packaging>
<properties> <properties>
<modelWeb.version>1.3.4</modelWeb.version> <modelWeb.version>1.4.0</modelWeb.version>
<flyway.version>1.3.2</flyway.version> <flyway.version>1.3.3</flyway.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties> </properties>

View File

@ -1,9 +1,10 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional; package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -17,14 +18,19 @@ import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Button; import org.zkoss.zul.Button;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Combobox; import org.zkoss.zul.Combobox;
import org.zkoss.zul.Doublebox;
import org.zkoss.zul.Intbox; import org.zkoss.zul.Intbox;
import org.zkoss.zul.ListModelList; import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Messagebox; import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Tab; import org.zkoss.zul.Tab;
import org.zkoss.zul.Textbox; import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Conexion;
import com.rjconsultores.ventaboletos.entidad.ConexionCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionCtrl;
import com.rjconsultores.ventaboletos.entidad.ConexionDescuento;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionPtoVta; import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionPtoVta;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionTipoPtoVta; import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionTipoPtoVta;
@ -35,12 +41,16 @@ import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.RutaCombinacion; import com.rjconsultores.ventaboletos.entidad.RutaCombinacion;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa; import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.ConexionCtrlService;
import com.rjconsultores.ventaboletos.service.ConexionDescuentoService;
import com.rjconsultores.ventaboletos.service.ConexionRutaCombinacionService; import com.rjconsultores.ventaboletos.service.ConexionRutaCombinacionService;
import com.rjconsultores.ventaboletos.service.ConexionRutaConfService; import com.rjconsultores.ventaboletos.service.ConexionRutaConfService;
import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionPtoVtaService; import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionPtoVtaService;
import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionTipoPtoVtaService; import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionTipoPtoVtaService;
import com.rjconsultores.ventaboletos.service.ConexionRutaLocalidadeRemovidaService; import com.rjconsultores.ventaboletos.service.ConexionRutaLocalidadeRemovidaService;
import com.rjconsultores.ventaboletos.service.ConexionRutaTramoCtrlService; import com.rjconsultores.ventaboletos.service.ConexionRutaTramoCtrlService;
import com.rjconsultores.ventaboletos.service.ConexionService;
import com.rjconsultores.ventaboletos.service.RutaEmpresaService; import com.rjconsultores.ventaboletos.service.RutaEmpresaService;
import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService;
@ -77,6 +87,15 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
@Autowired @Autowired
ConexionRutaCombinacionService conexionRutaCombinacionService; ConexionRutaCombinacionService conexionRutaCombinacionService;
@Autowired
private ConexionService conexionService;
@Autowired
private ClaseServicioService claseServicioService;
@Autowired
private ConexionDescuentoService conexionDescuentoService;
@Autowired
private ConexionCtrlService conexionCtrlService;
@Autowired @Autowired
ConexionRutaLocalidadeRemovidaService conexionRutaLocalidadeRemovidaService; ConexionRutaLocalidadeRemovidaService conexionRutaLocalidadeRemovidaService;
@Autowired @Autowired
@ -121,6 +140,16 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
private List<Parada> removerLocalidadesComumABList; private List<Parada> removerLocalidadesComumABList;
private List<Parada> adicionarLocalidadesComumABList; private List<Parada> adicionarLocalidadesComumABList;
private Doublebox txtDesconto;
private Combobox cmbOrigemConexao;
private Combobox cmbDestinoConexao;
private Button btnFiltrar;
List<ParadaVOConexionRuta> localidadesGeradasFiltro;
private List<Parada> lsOrigemConexao;
private List<Parada> lsDestinoConexao;
private Checkbox chkUtilizaPricing;
private boolean isConexionGerada; private boolean isConexionGerada;
@Override @Override
@ -150,7 +179,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
txtDescricao.setValue(conexionRutaConf.getDescricao()); txtDescricao.setValue(conexionRutaConf.getDescricao());
txtTiempoMin.setValue(conexionRutaConf.getTiempoMin()); txtTiempoMin.setValue(conexionRutaConf.getTiempoMin());
txtTiempoMax.setValue(conexionRutaConf.getTiempoMax()); txtTiempoMax.setValue(conexionRutaConf.getTiempoMax());
txtDesconto.setValue(conexionRutaConf.getDescuento() == null ? null : conexionRutaConf.getDescuento().doubleValue());
configuraExcecaoPorPontoVenda(); configuraExcecaoPorPontoVenda();
@ -168,8 +197,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
//Eixo C //Eixo C
configuraLocalidadesEixoC(); configuraLocalidadesEixoC();
gerarCombinacao(true); gerarCombinacao(true);
}else{ }else{
btnSalvar.setDisabled(true); btnSalvar.setDisabled(true);
@ -187,7 +214,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
} }
/** /**
* Valida se a epresa da linha está configurada para funcionar com agrupamento de localidade na conexão. * Valida se a epresa da linha esta configurada para funcionar com agrupamento de localidade na conexao
* @param rutaA * @param rutaA
* @return * @return
*/ */
@ -320,7 +347,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
* Configura as rutas (linhas) para cada eixo * Configura as rutas (linhas) para cada eixo
*/ */
private void configuraRutasPorEixo() { private void configuraRutasPorEixo() {
//Busca uma lista de linhas (rutas), esta lista contem 3 sub-listas (1 para cada eixo de conexão A, B e C) //Busca uma lista de linhas (rutas), esta lista contem 3 sub-listas (1 para cada eixo de conexao A, B e C)
List<List<Ruta>> rutas = conexionRutaConfService.buscarRutasPorConexionConf(conexionRutaConf.getConexionRutaConfId()); List<List<Ruta>> rutas = conexionRutaConfService.buscarRutasPorConexionConf(conexionRutaConf.getConexionRutaConfId());
List<Ruta> lsRutaA = rutas.get(0); List<Ruta> lsRutaA = rutas.get(0);
List<Ruta> lsRutaB = rutas.get(1); List<Ruta> lsRutaB = rutas.get(1);
@ -331,10 +358,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
} }
/** /**
* Configura a lista de exceções por tipo de venda (canal de venda) * Configura a lista de excecoes por tipo de venda (canal de venda)
*/ */
private void configuraExcecaoPorTipoVenda() { private void configuraExcecaoPorTipoVenda() {
//Busca a lista de exceções por tipo de venda (canal de venda) //Busca a lista de excecoes por tipo de venda (canal de venda)
List<ConexionRutaExcepcionTipoPtoVta> conexionRutaExcepcionTipoPtoVtaList = conexionRutaExcepcionTipoPtoVtaService.buscarPorConexionConf(conexionRutaConf); List<ConexionRutaExcepcionTipoPtoVta> conexionRutaExcepcionTipoPtoVtaList = conexionRutaExcepcionTipoPtoVtaService.buscarPorConexionConf(conexionRutaConf);
for (ConexionRutaExcepcionTipoPtoVta conexionRutaExcepcionTipoPtoVta:conexionRutaExcepcionTipoPtoVtaList ) { for (ConexionRutaExcepcionTipoPtoVta conexionRutaExcepcionTipoPtoVta:conexionRutaExcepcionTipoPtoVtaList ) {
listEspCanal.addItemNovo(conexionRutaExcepcionTipoPtoVta.getTipoPtovta()); listEspCanal.addItemNovo(conexionRutaExcepcionTipoPtoVta.getTipoPtovta());
@ -342,10 +369,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
} }
/** /**
* Configura a lista de exceções por ponto de venda * Configura a lista de excecoes por ponto de venda
*/ */
private void configuraExcecaoPorPontoVenda() { private void configuraExcecaoPorPontoVenda() {
//Busca a lista de exceções por ponto de venda //Busca a lista de excecoes por ponto de venda
List<ConexionRutaExcepcionPtoVta> conexionRutaExcepcionPtoVtaList = conexionRutaRestricaoPtoVtaService.buscarPorConexionConf(conexionRutaConf); List<ConexionRutaExcepcionPtoVta> conexionRutaExcepcionPtoVtaList = conexionRutaRestricaoPtoVtaService.buscarPorConexionConf(conexionRutaConf);
for (ConexionRutaExcepcionPtoVta conexionRutaExcepcionPtoVta : conexionRutaExcepcionPtoVtaList) { for (ConexionRutaExcepcionPtoVta conexionRutaExcepcionPtoVta : conexionRutaExcepcionPtoVtaList) {
listPuntoVenta.addItemNovo(conexionRutaExcepcionPtoVta.getPuntoVenta()); listPuntoVenta.addItemNovo(conexionRutaExcepcionPtoVta.getPuntoVenta());
@ -375,6 +402,20 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
conexionRutaConf.setTiempoMin(txtTiempoMin.getValue()); conexionRutaConf.setTiempoMin(txtTiempoMin.getValue());
conexionRutaConf.setTiempoMax(txtTiempoMax.getValue()); conexionRutaConf.setTiempoMax(txtTiempoMax.getValue());
Double desconto = txtDesconto.getValue();
Boolean descontoAlterado = false;
BigDecimal descontoAnterior = conexionRutaConf.getDescuento();
//Valida se o desconto ja existia ou se e novo
if(descontoAnterior != null && descontoAnterior.doubleValue() != desconto) {
conexionRutaConf.setDescuento(new BigDecimal(desconto));
descontoAlterado = true;
}
if(descontoAnterior == null) {
conexionRutaConf.setDescuento(new BigDecimal(desconto));
}
List<TipoPuntoVenta> canalVentas = listEspCanal.getListData(); List<TipoPuntoVenta> canalVentas = listEspCanal.getListData();
List<PuntoVenta> puntoVentas = listPuntoVenta.getListData(); List<PuntoVenta> puntoVentas = listPuntoVenta.getListData();
@ -385,6 +426,36 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
removeLocalidadesExcluidas(); removeLocalidadesExcluidas();
//Atualizar o indPricing alterado pela tabela
for(ParadaVOConexionRuta loc : localidadesGeradas ) {
for(ConexionCtrl conCtrl : conexoesCtrl) {
if(isMesmaConexao(loc, conCtrl)) {
conCtrl.setIndPricing(loc.getConexionCtrl().getIndPricing());
}
}
}
conexionCtrlService.suscribirTodos(conexoesCtrl);
List<ConexionDescuento> conexionDescontos = new ArrayList<>();
if(isConexionGerada) {
if(desconto != 0 ) {
criarNovosDescontosPorConexao(conexionDescontos);
}
} else if(descontoAlterado){ //Se nao foi gerado novas conexoes, mas foi alterado o desconto
if( desconto == null || desconto == 0) {
desativarDescontosAnteriores(conexionDescontos);// remover todos os descontos criados
} else {
alterarValorDescontos(conexionDescontos);
}
}
if(!conexionDescontos.isEmpty()) { // Salvar Descontos
conexionDescuentoService.suscribirTodos(conexionDescontos);
}
if(itemNovo) { if(itemNovo) {
conexionRutaConfList.addItemNovo(conexionRutaConf); conexionRutaConfList.addItemNovo(conexionRutaConf);
}else { }else {
@ -398,6 +469,113 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
closeWindow(); closeWindow();
} }
private boolean isMesmaConexao(ParadaVOConexionRuta loc, ConexionCtrl conCtrl) {
if(conCtrl.getConexionctrlId() != null && conCtrl.getConexionctrlId().equals(loc.getConexionCtrl().getConexionctrlId())) {
return true;
}
List<Conexion> conec = conexionService.buscarPorConexionCtrl(conCtrl.getConexionctrlId());
for(Conexion con : conec) {
if (isMesmaConexao(loc, con)){
return true;
}
}
return false;
}
private boolean isMesmaConexao(ParadaVOConexionRuta loc, Conexion con) {
return loc.getRutaId() == con.getRutaId() &&
loc.getGrupo() == con.getNumgrupo() &&
loc.getSecuencia() == con.getNumsecuencia() &&
loc.getParadaOrigemTrecho().getParadaId() == con.getOrigenId() &&
loc.getParadaDestinoTrecho().getParadaId() == con.getDestinoId();
}
private void desativarDescontosAnteriores(List<ConexionDescuento> conexionDescontos) {
List<Conexion> conexoes = buscarTodasConexoes();
for(Conexion con : conexoes) {
List<ConexionDescuento> conDescList = conexionDescuentoService.buscarPorConexion(con);
for(ConexionDescuento conDesc : conDescList) {
conDesc.setActivo(Boolean.FALSE);
}
conexionDescontos.addAll(conDescList);
}
}
private void criarNovosDescontosPorConexao(List<ConexionDescuento> conexionDescontos) {
List<Conexion> conexoes = buscarTodasConexoes();
ClaseServicio classeTodos = claseServicioService.obtenerID(-1);
for(Conexion con : conexoes) {
ConexionDescuento conDesc = criarConexionDesconto(con, classeTodos);
conexionDescontos.add(conDesc);
}
}
private void alterarValorDescontos(List<ConexionDescuento> conexionDescontos) {
List<Conexion> conexoes = buscarTodasConexoes();
for(Conexion con : conexoes) {
List<ConexionDescuento> conDescList = conexionDescuentoService.buscarPorConexion(con);
// Caso tenha sido destivado sem gerar novas combinacoes
if(conDescList == null || conDescList.isEmpty()) {
conDescList = conexionDescuentoService.buscarPorConexionInativos(con);
}
if(conDescList == null || conDescList.isEmpty()) {
//Cria novos descontos, caso seja um registro antigo que foi alterado somente o desconto
criarNovosDescontosPorConexao(conexionDescontos);
} else {
//Altera os descontos encontrados
for(ConexionDescuento conDesc : conDescList) {
conDesc.setActivo(Boolean.TRUE);
conDesc.setDescuento(conexionRutaConf.getDescuento());
}
}
conexionDescontos.addAll(conDescList);
}
}
private List<Conexion> buscarTodasConexoes() {
try {
List<Conexion> conexoes = new ArrayList<>();
for(ConexionCtrl coneCtrl : conexoesCtrl) {
List<Conexion> conec = conexionService.buscarPorConexionCtrl(coneCtrl.getConexionctrlId());
conexoes.addAll(conec);
}
return conexoes;
} catch (Exception e) {
log.error("Erro ao buscar todas as conexoes: ", e);
}
return null;
}
private ConexionDescuento criarConexionDesconto(Conexion con, ClaseServicio classeTodos) {
ConexionDescuento conDesc = new ConexionDescuento();
conDesc.setConexion(con);
conDesc.setFecModif(Calendar.getInstance().getTime());
conDesc.setGrupo(con.getNumgrupo());
conDesc.setDescuento(conexionRutaConf.getDescuento());
conDesc.setDescuentoTasaEmbarque(BigDecimal.ZERO);
conDesc.setSecuencia(con.getNumsecuencia());
conDesc.setActivo(true);
conDesc.setClaseServicio(classeTodos);
return conDesc;
}
private void removeLocalidadesExcluidas() { private void removeLocalidadesExcluidas() {
if(adicionarLocalidadesComumABList !=null && !adicionarLocalidadesComumABList.isEmpty() ) { if(adicionarLocalidadesComumABList !=null && !adicionarLocalidadesComumABList.isEmpty() ) {
for (Parada parada : adicionarLocalidadesComumABList) { for (Parada parada : adicionarLocalidadesComumABList) {
@ -667,7 +845,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
} }
/** /**
* Valida Localidades excluídas, caso encontre insere na tela botão adicionar, caso não encontre inserena tela o botão remover. * Valida Localidades excluidas, caso encontre insere na tela botao adicionar, caso nao encontre inserena tela o botao remover.
* @param lsParadas * @param lsParadas
* @param paradasDuplicadas * @param paradasDuplicadas
*/ */
@ -717,8 +895,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
paradaAux.setDescparada(parada.getAgrupamentoParada().getDescAgrupamentoParada()); paradaAux.setDescparada(parada.getAgrupamentoParada().getDescAgrupamentoParada());
paradaAux.setCveparada(parada.getAgrupamentoParada().getCveAgrupamentoParada()); paradaAux.setCveparada(parada.getAgrupamentoParada().getCveAgrupamentoParada());
//Caso agrupamento já adicionado na lista não aparece na listview para não duplicar //Caso agrupamento ja adicionado na lista nao aparece na listview para nao duplicar
//mas é adicionado de localidades comuns de classe normalmente, apenas na listeview (tela que não irá aparecer). //mas e adicionado de localidades comuns de classe normalmente, apenas na listeview (tela que nao ira aparecer).
Boolean isAdicionaParadaListView = Boolean.TRUE; Boolean isAdicionaParadaListView = Boolean.TRUE;
for (Parada paradaAgrupamento : lsLocalidadesAgrupamento) { for (Parada paradaAgrupamento : lsLocalidadesAgrupamento) {
if( paradaAux.getAgrupamentoParada().equals(paradaAgrupamento.getAgrupamentoParada())) { if( paradaAux.getAgrupamentoParada().equals(paradaAgrupamento.getAgrupamentoParada())) {
@ -782,6 +960,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
txtTiempoMax.getValue(); txtTiempoMax.getValue();
txtTiempoMin.getValue(); txtTiempoMin.getValue();
txtDesconto.getValue();
return true; return true;
} }
@ -1120,6 +1299,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
localidadesGeradas = new ArrayList<ParadaVOConexionRuta>(); localidadesGeradas = new ArrayList<ParadaVOConexionRuta>();
conexoesCtrl = new ArrayList<ConexionCtrl>(); conexoesCtrl = new ArrayList<ConexionCtrl>();
localidadesGeradasFiltro = new ArrayList<ParadaVOConexionRuta>();
List<Parada> listParada1 = localidadesLinhaASelecionadaList.getListData(); List<Parada> listParada1 = localidadesLinhaASelecionadaList.getListData();
List<Ruta> rutasEixoA = rutasAList.getListData(); List<Ruta> rutasEixoA = rutasAList.getListData();
List<Ruta> rutasEixoB = rutasBList.getListData(); List<Ruta> rutasEixoB = rutasBList.getListData();
@ -1141,12 +1321,20 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
} }
for (ConexionCtrlVO conexionCtrlVO : conexoesCtrlVO) { for (ConexionCtrlVO conexionCtrlVO : conexoesCtrlVO) {
conexoesCtrl.add(new ConexionCtrl(conexionCtrlVO.getOrigenId(), conexionCtrlVO.getDestinoId(), conexionCtrlVO.getGrupo())); ConexionCtrl conexionAux = new ConexionCtrl(conexionCtrlVO.getOrigenId(), conexionCtrlVO.getDestinoId(), conexionCtrlVO.getGrupo());
conexionAux.setIndPricing(conexionCtrlVO.getIndPricing());
conexionAux.setConexionctrlId(conexionCtrlVO.getConexionctrlId());
conexoesCtrl.add(conexionAux);
} }
} }
localidadesCombinadasList.setData(localidadesGeradas); localidadesGeradasFiltro.addAll(localidadesGeradas);
atualizarFiltrosCombinacao(localidadesGeradas);
localidadesCombinadasList.setData(localidadesGeradasFiltro);
localidadesCombinadasList.setItemRenderer(new RenderGeracaoConexionPorRuta()); localidadesCombinadasList.setItemRenderer(new RenderGeracaoConexionPorRuta());
resultadoCombinacao.setSelected(true); resultadoCombinacao.setSelected(true);
@ -1157,6 +1345,21 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
} }
private void atualizarFiltrosCombinacao(List<ParadaVOConexionRuta> localidadesGeradas2) {
lsOrigemConexao = new ArrayList<>();
lsDestinoConexao = new ArrayList<>();
for(ParadaVOConexionRuta con : localidadesGeradas2) {
if(!lsOrigemConexao.contains(con.getParadaOrigemTrecho())) {
lsOrigemConexao.add(con.getParadaOrigemTrecho());
}
if(!lsDestinoConexao.contains(con.getParadaDestinoTrecho())) {
lsDestinoConexao.add(con.getParadaDestinoTrecho());
}
}
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private boolean validarLinhaJaSelecionada() { private boolean validarLinhaJaSelecionada() {
@ -1224,5 +1427,74 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
} }
return true; return true;
} }
public void onClick$btnFiltrar(Event ev) throws Exception {
Parada origem = cmbOrigemConexao.getSelectedItem() == null ? null : (Parada) cmbOrigemConexao.getSelectedItem().getValue();
Parada destino = cmbDestinoConexao.getSelectedItem() == null ? null : (Parada) cmbDestinoConexao.getSelectedItem().getValue();
localidadesGeradasFiltro.clear();
for(ParadaVOConexionRuta local : localidadesGeradas) {
boolean origemOK = false;
boolean destinoOK = false;
boolean pricingOK = false;
if(origem == null || origem.equals(local.getParadaOrigemTrecho())) {
origemOK = true;
}
if(destino == null || destino.equals(local.getParadaDestinoTrecho())) {
destinoOK = true;
}
if(local.getConexionCtrl().getIndPricing() == chkUtilizaPricing.isChecked()) {
pricingOK = true;
}
if(origemOK && destinoOK && pricingOK) {
localidadesGeradasFiltro.add(local);
}
}
localidadesCombinadasList.clear();
localidadesCombinadasList.setData(localidadesGeradasFiltro);
}
public void onClick$btnLimpraFiltros(Event ev) throws Exception {
cmbOrigemConexao.setSelectedItem(null);
cmbDestinoConexao.setSelectedItem(null);
chkUtilizaPricing.setChecked(false);
localidadesGeradasFiltro.clear();
localidadesGeradasFiltro.addAll(localidadesGeradas);
localidadesCombinadasList.clear();
localidadesCombinadasList.setData(localidadesGeradasFiltro);
}
public Checkbox getChkUtilizaPricing() {
return chkUtilizaPricing;
}
public void setChkUtilizaPricing(Checkbox chkUtilizaPricing) {
this.chkUtilizaPricing = chkUtilizaPricing;
}
public List<Parada> getLsOrigemConexao() {
return lsOrigemConexao;
}
public void setLsOrigemConexao(List<Parada> lsOrigemConexao) {
this.lsOrigemConexao = lsOrigemConexao;
}
public List<Parada> getLsDestinoConexao() {
return lsDestinoConexao;
}
public void setLsDestinoConexao(List<Parada> lsDestinoConexao) {
this.lsDestinoConexao = lsDestinoConexao;
}
} }

View File

@ -5,6 +5,9 @@
package com.rjconsultores.ventaboletos.web.utilerias.render; package com.rjconsultores.ventaboletos.web.utilerias.render;
import org.zkoss.zk.ui.api.HtmlBasedComponent; import org.zkoss.zk.ui.api.HtmlBasedComponent;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Listcell; import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem; import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer; import org.zkoss.zul.ListitemRenderer;
@ -33,7 +36,9 @@ public class RenderGeracaoConexionPorRuta implements ListitemRenderer {
ParadaVOConexionRuta conexion = (ParadaVOConexionRuta) o; ParadaVOConexionRuta conexion = (ParadaVOConexionRuta) o;
if (grupo != conexion.getGrupo() || (origemConexao != conexion.getParadaOrigemTrecho().getParadaId() || destinoConexao != conexion.getParadaDestinoTrecho().getParadaId())) { Boolean isCtrlDiferente = grupo != conexion.getGrupo() || (origemConexao != conexion.getParadaOrigemTrecho().getParadaId() || destinoConexao != conexion.getParadaDestinoTrecho().getParadaId());
if (isCtrlDiferente) {
grupo = conexion.getGrupo(); grupo = conexion.getGrupo();
origemConexao = conexion.getParadaOrigemTrecho().getParadaId(); origemConexao = conexion.getParadaOrigemTrecho().getParadaId();
destinoConexao = conexion.getParadaDestinoTrecho().getParadaId(); destinoConexao = conexion.getParadaDestinoTrecho().getParadaId();
@ -62,6 +67,25 @@ public class RenderGeracaoConexionPorRuta implements ListitemRenderer {
lc = new Listcell(String.valueOf(conexion.getSecuencia())); lc = new Listcell(String.valueOf(conexion.getSecuencia()));
lc.setParent(lstm); lc.setParent(lstm);
if(isCtrlDiferente) {
Checkbox ckbindPricing = new Checkbox();
ckbindPricing.setChecked(conexion.getConexionCtrl().getIndPricing());
ckbindPricing.addEventListener("onClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
conexion.getConexionCtrl().setIndPricing(ckbindPricing.isChecked());
}
});
lc = new Listcell();
ckbindPricing.setParent(lc);
lc.setParent(lstm);
} else {
lc = new Listcell(" ");
lc.setParent(lstm);
}
lstm.setValue(conexion); lstm.setValue(conexion);
} }
} }

View File

@ -7239,6 +7239,11 @@ busquedaParamConexionController.lhId.label=ID
busquedaParamConexionController.lhDesc.label=Descrição busquedaParamConexionController.lhDesc.label=Descrição
busquedaParamConexionController.lhValor.label=Valor busquedaParamConexionController.lhValor.label=Valor
editarConexionController.labelDesconto.value=Desconto
editarConexionController.labelPricing.value=Pricing
editarConexionController.botaoFiltrar.value=Filtrar
editarConexionController.botaoLimparFiltros.value=Limpar Filtros
#Editar param conexion #Editar param conexion
editarParamConexionController.window.title=Parametro de Conexão editarParamConexionController.window.title=Parametro de Conexão
editarParamConexionController.btnSalvar.tooltiptext=Salvar editarParamConexionController.btnSalvar.tooltiptext=Salvar

View File

@ -7232,6 +7232,11 @@ busquedaTarjetaCreditoController.tasa.label = Intereses
busquedaTarjetaCreditoController.parcelaMinima.label = Parcela Mínima busquedaTarjetaCreditoController.parcelaMinima.label = Parcela Mínima
busquedaTarjetaCreditoController.indAplicarJuros.label = Aplicar juros venda busquedaTarjetaCreditoController.indAplicarJuros.label = Aplicar juros venda
editarConexionController.labelDesconto.value=Desconto
editarConexionController.labelPricing.value=Pricing
editarConexionController.botaoFiltrar.value=Filtrar
editarConexionController.botaoLimparFiltros.value=Limpar Filtros
#Editar Tarjeta Credito #Editar Tarjeta Credito
editarTarjetaCreditoController.window.title = Tarjeta de crédito editarTarjetaCreditoController.window.title = Tarjeta de crédito
editarTarjetaCreditoController.btnApagar.tooltiptext = Eliminar editarTarjetaCreditoController.btnApagar.tooltiptext = Eliminar

View File

@ -7237,6 +7237,11 @@ editarConexionPorRutaController.MSG.ApagarOK = Conexão removida com sucesso.
editarConexionPorRutaController.MSG.PerguntaApagar = Deseja remover essa Conexão ? editarConexionPorRutaController.MSG.PerguntaApagar = Deseja remover essa Conexão ?
editarConexionPorRutaController.MSG.SequenciaEixOK = Inserir as linhas nas sequências dos eixos. 1º Eixo A, 2º Eixo B, 3º Eixo C editarConexionPorRutaController.MSG.SequenciaEixOK = Inserir as linhas nas sequências dos eixos. 1º Eixo A, 2º Eixo B, 3º Eixo C
editarConexionController.labelDesconto.value=Desconto
editarConexionController.labelPricing.value=Pricing
editarConexionController.botaoFiltrar.value=Filtrar
editarConexionController.botaoLimparFiltros.value=Limpar Filtros
#Busqueda param conexion #Busqueda param conexion
busquedaParamConexionController.window.title=Parâmetros de Conexão busquedaParamConexionController.window.title=Parâmetros de Conexão
busquedaParamConexionController.btnRefresh.tooltiptext=Atualizar busquedaParamConexionController.btnRefresh.tooltiptext=Atualizar

View File

@ -6,7 +6,7 @@
<zk> <zk>
<window id="winEditarConexionPorRuta" border="normal" width="1100px" <window id="winEditarConexionPorRuta" border="normal" width="1100px"
apply="${gerarConexionPorRutaController}" height="600px" apply="${gerarConexionPorRutaController}" height="600px" sizable="true"
title="${c:l('editarConexionPorRutaController.window.title')}"> title="${c:l('editarConexionPorRutaController.window.title')}">
<style dynamic="true"> <style dynamic="true">
@ -34,10 +34,11 @@
<grid fixedLayout="true"> <grid fixedLayout="true">
<columns> <columns>
<column width="10%" /> <column width="10%" />
<column width="90%" /> <column width="40%" />
<column width="50%" />
</columns> </columns>
<rows> <rows>
<row> <row spans="1,2">
<label value="${c:l('editarConexionPorRutaController.labelDescricao.value')}" /> <label value="${c:l('editarConexionPorRutaController.labelDescricao.value')}" />
<textbox id="txtDescricao" width="99%" <textbox id="txtDescricao" width="99%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" /> use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
@ -46,14 +47,19 @@
<label <label
value="${c:l('editarConexionController.labelTiempoEspera.value')}" /> value="${c:l('editarConexionController.labelTiempoEspera.value')}" />
<hlayout> <hlayout>
<label style="padding-right:35px" <label
value="${c:l('editarConexionController.labelTiempoMin.value')}" /> value="${c:l('editarConexionController.labelTiempoMin.value')}" />
<intbox id="txtTiempoMin" maxlength="7"/> <intbox id="txtTiempoMin" maxlength="7"/>
<label <label
style="padding-left:70px; padding-right:35px"
value="${c:l('editarConexionController.labelTiempoMax.value')}" /> value="${c:l('editarConexionController.labelTiempoMax.value')}" />
<intbox id="txtTiempoMax" maxlength="7"/> <intbox id="txtTiempoMax" maxlength="7"/>
</hlayout> </hlayout>
<hlayout>
<label value="${c:l('editarConexionController.labelDesconto.value')}" />
<doublebox id="txtDesconto" maxlength="7"/>
</hlayout>
</row> </row>
</rows> </rows>
</grid> </grid>
@ -420,6 +426,41 @@
0.3px 0.3px #ffffff; } 0.3px 0.3px #ffffff; }
</style> </style>
<grid fixedLayout="true">
<columns>
<column width="100%" />
</columns>
<rows>
<row>
<hlayout>
<label
value="${c:l('editarConexionController.labelOrigenConexaoPasso1.value')}" />
<combobox id="cmbOrigemConexao"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="250px"
model="@{winEditarConexionPorRuta$composer.lsOrigemConexao}" />
<label
value="${c:l('editarConexionController.labelDestinoConexaoPasso1.value')}" />
<combobox id="cmbDestinoConexao"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="250px"
model="@{winEditarConexionPorRuta$composer.lsDestinoConexao}"/>
<label value="${c:l('editarConexionController.labelPricing.value')}" style="margin-left:30%; margin-right:10%" />
<checkbox id="chkUtilizaPricing" style="margin-left:30%; margin-right:10%" />
<button id="btnFiltrar" width="80px" height="25px" style="margin-left:30% "
label="${c:l('editarConexionController.botaoFiltrar.value')}" />
<button id="btnLimpraFiltros" width="100px" height="25px" style="margin-left:50% "
label="${c:l('editarConexionController.botaoLimparFiltros.value')}" />
</hlayout>
</row>
</rows>
</grid>
<listbox id="localidadesCombinadasList" <listbox id="localidadesCombinadasList"
mold="paging" mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
@ -438,10 +479,13 @@
width="50%" /> width="50%" />
<listheader align="center" <listheader align="center"
label="${c:l('editarConexionPorRutaController.labelGrupo.value')}" label="${c:l('editarConexionPorRutaController.labelGrupo.value')}"
width="50%" /> width="20%" />
<listheader align="center" <listheader align="center"
label="${c:l('editarConexionPorRutaController.labelSecuencia.value')}" label="${c:l('editarConexionPorRutaController.labelSecuencia.value')}"
width="50%" /> width="20%" />
<listheader align="center"
label="${c:l('editarConexionController.labelPricing.value')}"
width="20%" />
</listhead> </listhead>
</listbox> </listbox>