Merge pull request 'fixes bug#AL_3541' (!338) from AL_3541 into master

Reviewed-on: adm/VentaBoletosAdm#338
Reviewed-by: pinheiro <valdevir@rjconsultores.com.br>
master 1.35.18
aristides 2023-11-30 22:06:33 +00:00
commit e6202b1ead
2 changed files with 67 additions and 40 deletions

View File

@ -4,11 +4,11 @@
<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.35.17</version> <version>1.35.18</version>
<packaging>war</packaging> <packaging>war</packaging>
<properties> <properties>
<modelWeb.version>1.26.3</modelWeb.version> <modelWeb.version>1.26.4</modelWeb.version>
<flyway.version>1.22.1</flyway.version> <flyway.version>1.22.1</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>

View File

@ -9,7 +9,6 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -122,10 +121,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
private MyListbox localidadesComunsBCList; private MyListbox localidadesComunsBCList;
private MyListbox listEspCanal; private MyListbox listEspCanal;
private MyListbox listPuntoVenta; private MyListbox listPuntoVenta;
//Localidade a serem combinadas (pode excluir localidades a serem combinadas)
private List<Parada> lsLocalidadesComunsAB;
//Todas as localidades Localidade comuns entre A e B
private List<Parada> lsLocalidadesComunsABTodas;
private List<Parada> lsLocalidadesComunsLinhasBC; private List<Parada> lsLocalidadesComunsLinhasBC;
private Combobox cmbTipoPtovta; private Combobox cmbTipoPtovta;
private Combobox cmbPtovta; private Combobox cmbPtovta;
@ -139,8 +135,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
private ConexionRutaConf conexionRutaConf; private ConexionRutaConf conexionRutaConf;
private MyListbox conexionRutaConfList; private MyListbox conexionRutaConfList;
private Boolean isConexaoPorAgrupamento; private Boolean isConexaoPorAgrupamento;
private List<Parada> removerLocalidadesComumABList;
private List<Parada> adicionarLocalidadesComumABList;
private Doublebox txtDesconto; private Doublebox txtDesconto;
private Combobox cmbOrigemConexao; private Combobox cmbOrigemConexao;
@ -158,9 +152,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
public void doAfterCompose(Component comp) throws Exception { public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp); super.doAfterCompose(comp);
lsLocalidadesComunsABTodas = new ArrayList<Parada>();
removerLocalidadesComumABList = new ArrayList<Parada>();
adicionarLocalidadesComumABList = new ArrayList<Parada>();
this.isConexionGerada = false; this.isConexionGerada = false;
txtTiempoMax.setConstraint("no empty"); txtTiempoMax.setConstraint("no empty");
txtTiempoMin.setConstraint("no empty"); txtTiempoMin.setConstraint("no empty");
@ -424,9 +416,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
conexionRutaConf = conexionRutaConfService.salvarConfiguracao(conexionRutaConf, canalVentas, puntoVentas, conexionRutaConf = conexionRutaConfService.salvarConfiguracao(conexionRutaConf, canalVentas, puntoVentas,
conexoesCtrl, lsConexionRutaCtrl, localidadesGeradas, conexoesCtrl, lsConexionRutaCtrl, localidadesGeradas,
isConexionGerada); isConexionGerada);
adicionaLocalidadesExcluidas();
removeLocalidadesExcluidas(); removeLocalidadesExcluidas();
adicionaLocalidadesExcluidas();
//Atualizar o indPricing alterado pela tabela //Atualizar o indPricing alterado pela tabela
atualizarIndPricing(); atualizarIndPricing();
@ -591,14 +584,11 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
} }
private void removeLocalidadesExcluidas() { private void removeLocalidadesExcluidas() {
if(adicionarLocalidadesComumABList !=null && !adicionarLocalidadesComumABList.isEmpty() ) { conexionRutaLocalidadeRemovidaService.removerTodosPorConexionrutaconfId(conexionRutaConf.getConexionRutaConfId());
for (Parada parada : adicionarLocalidadesComumABList) {
conexionRutaLocalidadeRemovidaService.removerPorParada(parada);
}
}
} }
private void adicionaLocalidadesExcluidas() { private void adicionaLocalidadesExcluidas() {
List<Parada> removerLocalidadesComumABList = obterlsLocalidadesComunsABDesabilitadasNoMomento();
if(!removerLocalidadesComumABList.isEmpty()) { if(!removerLocalidadesComumABList.isEmpty()) {
for (Parada parada : removerLocalidadesComumABList) { for (Parada parada : removerLocalidadesComumABList) {
conexionRutaLocalidadeRemovidaService.suscribir(conexionRutaConf.getConexionRutaConfId(), parada.getParadaId()); conexionRutaLocalidadeRemovidaService.suscribir(conexionRutaConf.getConexionRutaConfId(), parada.getParadaId());
@ -637,23 +627,18 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
public void onEvent(Event arg0) throws Exception { public void onEvent(Event arg0) throws Exception {
Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data"); Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data");
List<Parada> localidadesComunsABListIter =new ArrayList<Parada>(lsLocalidadesComunsABTodas); List<Parada> localidadesComunsABListIter = new ArrayList(obterlsLocalidadesComunsAB());
for (Parada paradaIter : localidadesComunsABListIter) { for (Parada paradaIter : localidadesComunsABListIter) {
//Caso parada seja a mesma ou seja uma parada do mesmo agrupamento remove. //Caso parada seja a mesma ou seja uma parada do mesmo agrupamento remove.
if (paradaIter.equals(conexionRutaVO) || (paradaIter.getAgrupamentoParada()!=null && paradaIter.getAgrupamentoParada().equals(conexionRutaVO.getAgrupamentoParada()))) { if (paradaIter.equals(conexionRutaVO) || (paradaIter.getAgrupamentoParada()!=null && paradaIter.getAgrupamentoParada().equals(conexionRutaVO.getAgrupamentoParada()))) {
if(!Boolean.TRUE.equals(paradaIter.getIsParadaConexaoRutaExcluida())) { if(!Boolean.TRUE.equals(paradaIter.getIsParadaConexaoRutaExcluida())) {
localidadesComunsABList.removeItem(conexionRutaVO); localidadesComunsABList.removeItem(conexionRutaVO);
lsLocalidadesComunsAB.remove(paradaIter);
conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.TRUE); conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.TRUE);
localidadesComunsABList.addItemNovo(conexionRutaVO); localidadesComunsABList.addItemNovo(conexionRutaVO);
removerLocalidadesComumABList.add(conexionRutaVO);
}else { }else {
localidadesComunsABList.removeItem(conexionRutaVO); localidadesComunsABList.removeItem(conexionRutaVO);
conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.FALSE); conexionRutaVO.setIsParadaConexaoRutaExcluida(Boolean.FALSE);
localidadesComunsABList.addItemNovo(conexionRutaVO); localidadesComunsABList.addItemNovo(conexionRutaVO);
lsLocalidadesComunsAB.add(paradaIter);
adicionarLocalidadesComumABList.add(conexionRutaVO);
} }
} }
} }
@ -695,7 +680,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
localidadesLinhaASelecionadaList.addItemNovo(parada); localidadesLinhaASelecionadaList.addItemNovo(parada);
} else { } else {
for (Object objectParada : localidadesLinhaASelecionadaList.getListData()) { for (Object objectParada : localidadesLinhaASelecionadaList.getListData()) {
if (localidadesLinhaASelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsAB != null && lsLocalidadesComunsAB.contains(parada))) { List<Parada> lsLocalidadesComunsABHabilitadaNoMomento = obterlsLocalidadesComunsABHabilitadasNoMomento();
if (localidadesLinhaASelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsABHabilitadaNoMomento != null && lsLocalidadesComunsABHabilitadaNoMomento.contains(parada))) {
return; return;
} }
if (!((Parada) objectParada).equals(parada)) { if (!((Parada) objectParada).equals(parada)) {
@ -731,7 +717,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
localidadesLinhaBSelecionadaList.addItemNovo(parada); localidadesLinhaBSelecionadaList.addItemNovo(parada);
} else { } else {
for (Object objectParada : localidadesLinhaBSelecionadaList.getListData()) { for (Object objectParada : localidadesLinhaBSelecionadaList.getListData()) {
if (localidadesLinhaBSelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsAB != null && lsLocalidadesComunsAB.contains(parada))) { List<Parada> lsLocalidadesComunsABHabilitadaNoMomento = obterlsLocalidadesComunsABHabilitadasNoMomento();
if (localidadesLinhaBSelecionadaList.getListData().contains(parada) || (lsLocalidadesComunsABHabilitadaNoMomento != null && lsLocalidadesComunsABHabilitadaNoMomento.contains(parada))) {
return; return;
} }
if (!((Parada) objectParada).equals(parada)) { if (!((Parada) objectParada).equals(parada)) {
@ -823,13 +812,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
localidadesLinhaASelecionadaList.getListData().removeAll(paradasDuplicadas); localidadesLinhaASelecionadaList.getListData().removeAll(paradasDuplicadas);
localidadesLinhaBSelecionadaList.getListData().removeAll(paradasDuplicadas); localidadesLinhaBSelecionadaList.getListData().removeAll(paradasDuplicadas);
adicionaParadasDuplicadas(paradasDuplicadas, lsLocalidadesComunsABAux, lsLocalidadesAgrupamento);
if(lsLocalidadesComunsAB!=null) {
adicionaParadasDuplicadas(paradasDuplicadas, lsLocalidadesComunsABAux, lsLocalidadesAgrupamento);
}else {
lsLocalidadesComunsAB = new ArrayList<Parada>(paradasDuplicadas);
}
localidadesComunsABList.setData(lsLocalidadesComunsABAux); localidadesComunsABList.setData(lsLocalidadesComunsABAux);
renderizarLinhasAB(); renderizarLinhasAB();
} }
@ -864,8 +850,9 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
* @param paradasDuplicadas * @param paradasDuplicadas
*/ */
private void validaLocalidadesExcluidas(Set<Parada> lsParadas, ArrayList<Parada> paradasDuplicadas) { private void validaLocalidadesExcluidas(Set<Parada> lsParadas, ArrayList<Parada> paradasDuplicadas) {
if(paradasDuplicadas!=null && !paradasDuplicadas.isEmpty()) {
List<ConexionRutaLocalidadeRemovida> ConexionRutaLocalidadeRemovidaList = conexionRutaLocalidadeRemovidaService.obtenerPorParadaList(paradasDuplicadas); if(paradasDuplicadas!=null && !paradasDuplicadas.isEmpty() && conexionRutaConf != null ) {
List<ConexionRutaLocalidadeRemovida> ConexionRutaLocalidadeRemovidaList = conexionRutaLocalidadeRemovidaService.obtenerPorConexionrutaconfIdEParadaIdList(conexionRutaConf.getConexionRutaConfId(),paradasDuplicadas);
if(ConexionRutaLocalidadeRemovidaList !=null) { if(ConexionRutaLocalidadeRemovidaList !=null) {
ArrayList<Parada> paradasDuplicadasAux = new ArrayList<Parada>(lsParadas); ArrayList<Parada> paradasDuplicadasAux = new ArrayList<Parada>(lsParadas);
for (ConexionRutaLocalidadeRemovida conexionRutaLocalidadeRemovida : ConexionRutaLocalidadeRemovidaList) { for (ConexionRutaLocalidadeRemovida conexionRutaLocalidadeRemovida : ConexionRutaLocalidadeRemovidaList) {
@ -883,6 +870,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
private void adicionaParadasDuplicadas(ArrayList<Parada> paradasDuplicadas, List<Parada> lsLocalidadesComunsABAux, List<Parada> lsLocalidadesAgrupamento) { private void adicionaParadasDuplicadas(ArrayList<Parada> paradasDuplicadas, List<Parada> lsLocalidadesComunsABAux, List<Parada> lsLocalidadesAgrupamento) {
for (Parada parada : paradasDuplicadas) { for (Parada parada : paradasDuplicadas) {
List<Parada> lsLocalidadesComunsAB = obterlsLocalidadesComunsABHabilitadasNoMomento();
if(!lsLocalidadesComunsAB.contains(parada)){ if(!lsLocalidadesComunsAB.contains(parada)){
if(parada.getAgrupamentoParada()!=null && Boolean.TRUE.equals(isConexaoPorAgrupamento)) { if(parada.getAgrupamentoParada()!=null && Boolean.TRUE.equals(isConexaoPorAgrupamento)) {
try { try {
@ -894,10 +882,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
}else { }else {
lsLocalidadesComunsABAux.add(parada); lsLocalidadesComunsABAux.add(parada);
} }
lsLocalidadesComunsABTodas.add(parada);
if(!Boolean.TRUE.equals(parada.getIsParadaConexaoRutaExcluida())) {
lsLocalidadesComunsAB.add(parada);
}
} }
} }
} }
@ -952,6 +936,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
} }
public void onClick$btnCombinarTrechos(Event ev) throws InterruptedException { public void onClick$btnCombinarTrechos(Event ev) throws InterruptedException {
List<Parada> lsLocalidadesComunsAB = obterlsLocalidadesComunsABHabilitadasNoMomento();
if (lsLocalidadesComunsAB == null || lsLocalidadesComunsAB.isEmpty()) { if (lsLocalidadesComunsAB == null || lsLocalidadesComunsAB.isEmpty()) {
Messagebox.show(Labels.getLabel("editarConexionPorRutaController.MSG.selecionarConexion"), Messagebox.show(Labels.getLabel("editarConexionPorRutaController.MSG.selecionarConexion"),
Labels.getLabel("editarConexionPorRutaController.window.title"), Labels.getLabel("editarConexionPorRutaController.window.title"),
@ -1328,6 +1313,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
conexoesCtrl = new ArrayList<ConexionCtrl>(conexionRutaConfVO.getListConexionCtrl()); conexoesCtrl = new ArrayList<ConexionCtrl>(conexionRutaConfVO.getListConexionCtrl());
} else { } else {
this.isConexionGerada = true; this.isConexionGerada = true;
List<Parada> lsLocalidadesComunsAB = obterlsLocalidadesComunsABHabilitadasNoMomento();
if(rutasEixoC.isEmpty()) { if(rutasEixoC.isEmpty()) {
conexionRutaCombinacionService.gerarCombinacionEntre2Eixos(listParada1,rutasEixoA, rutasEixoB, lsLocalidadesComunsAB, listParada4, rutasEixoA, rutasEixoB, localidadesGeradas, conexoesCtrlVO, isConexaoPorAgrupamento); conexionRutaCombinacionService.gerarCombinacionEntre2Eixos(listParada1,rutasEixoA, rutasEixoB, lsLocalidadesComunsAB, listParada4, rutasEixoA, rutasEixoB, localidadesGeradas, conexoesCtrlVO, isConexaoPorAgrupamento);
} else { } else {
@ -1475,6 +1461,47 @@ public void onClick$btnFiltrar(Event ev) throws Exception {
localidadesCombinadasList.setData(localidadesGeradasFiltro); localidadesCombinadasList.setData(localidadesGeradasFiltro);
} }
private List<Parada>obterlsLocalidadesComunsAB() {
List<Parada> lsLocalidadehabilitadas = new ArrayList<>();
if(localidadesComunsABList!=null) {
return localidadesComunsABList.getListData();
}
return lsLocalidadehabilitadas;
}
private List<Parada>obterlsLocalidadesComunsABHabilitadasNoMomento() {
List<Parada> lsLocalidadehabilitadas = new ArrayList<>();
List<Parada> lsParadaAux =obterlsLocalidadesComunsAB();
if(lsParadaAux!=null && !lsParadaAux.isEmpty()) {
lsLocalidadehabilitadas = new ArrayList<>();
for(Parada parada : lsParadaAux) {
if(!parada.getIsParadaConexaoRutaExcluida()) {
lsLocalidadehabilitadas.add(parada);
}
}
}
return lsLocalidadehabilitadas;
}
private List<Parada>obterlsLocalidadesComunsABDesabilitadasNoMomento() {
List<Parada> lsDesabilitadas = null;
List<Parada> lsParadaAux =obterlsLocalidadesComunsAB();
if(lsParadaAux!=null && !lsParadaAux.isEmpty()) {
lsDesabilitadas = new ArrayList<>();
for(Parada parada : lsParadaAux) {
if(parada.getIsParadaConexaoRutaExcluida()) {
lsDesabilitadas.add(parada);
}
}
}
return lsDesabilitadas;
}
public void onClick$btnLimpraFiltros(Event ev) throws Exception { public void onClick$btnLimpraFiltros(Event ev) throws Exception {
cmbOrigemConexao.setSelectedItem(null); cmbOrigemConexao.setSelectedItem(null);
cmbDestinoConexao.setSelectedItem(null); cmbDestinoConexao.setSelectedItem(null);