fixes bug#22475

dev:wilian
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@107031 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2021-06-02 21:33:13 +00:00
parent 3818b692e7
commit 98b6f77d2d
1 changed files with 44 additions and 53 deletions

View File

@ -1,6 +1,7 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@ -24,7 +25,6 @@ import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.ConexionCtrl;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionPtoVta;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionTipoPtoVta;
import com.rjconsultores.ventaboletos.entidad.Parada;
@ -33,18 +33,19 @@ import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.RutaCombinacion;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.service.ConexionRutaConfService;
import com.rjconsultores.ventaboletos.service.ConexionRutaCtrlService;
import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionPtoVtaService;
import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionTipoPtoVtaService;
import com.rjconsultores.ventaboletos.service.ConexionRutaTramoCtrlService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService;
import com.rjconsultores.ventaboletos.vo.parada.ConexionCtrlVO;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaConfVO;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO;
import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.combinacion.conexionruta.ConexionRutaCombinacionFactory;
import com.rjconsultores.ventaboletos.web.utilerias.combinacion.conexionruta.OrdenarLocalidadesGeradas;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConexionRuta;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConexionRutaRemoveSelecionada;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderGeracaoConexionPorRuta;
@ -56,8 +57,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(GerarConexionPorRutaController.class);
@Autowired
private ConexionRutaCtrlService conexionRutaCtrlService;
@Autowired
private ConexionRutaConfService conexionRutaConfService;
@Autowired
@ -110,6 +109,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
txtTiempoMax.setConstraint("no empty");
txtTiempoMin.setConstraint("no empty");
txtDescricao.setConstraint("no empty");
@ -135,9 +135,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
txtDescricao.setValue(conexionRutaConf.getDescricao());
txtTiempoMin.setValue(conexionRutaConf.getTiempoMin());
txtTiempoMax.setValue(conexionRutaConf.getTiempoMax());
List<Ruta> lsRutaA = new ArrayList<Ruta>();
List<Ruta> lsRutaB = new ArrayList<Ruta>();
List<Ruta> lsRutaC = new ArrayList<Ruta>();
for (ConexionRutaExcepcionPtoVta conexionRutaExcepcionPtoVta : conexionRutaRestricaoPtoVtaService.buscarPorConexionConf(conexionRutaConf)) {
listPuntoVenta.addItemNovo(conexionRutaExcepcionPtoVta.getPuntoVenta());
@ -147,25 +144,23 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
listEspCanal.addItemNovo(conexionRutaExcepcionTipoPtoVta.getTipoPtovta());
}
List<ConexionRutaCtrl> lsConexionRutaCtrl = conexionRutaCtrlService.buscarPorConexionConf(conexionRutaConf);
for (ConexionRutaCtrl conexionRutaCtrl : lsConexionRutaCtrl) {
Ruta ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaOrigenId());
carregarRuta(lsParadasTodasOrigemA, lsRutaA, ruta);
List<List<Ruta>> rutas = conexionRutaConfService.buscarRutasPorConexionConf(conexionRutaConf.getConexionRutaConfId());
List<Ruta> lsRutaA = rutas.get(0);
List<Ruta> lsRutaB = rutas.get(1);
List<Ruta> lsRutaC = rutas.get(2);
ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaDestinoId());
carregarRuta(lsParadasTodasDestinoB, lsRutaB, ruta);
lsParadasOrigemA.addAll(conexionRutaTramoCtrlService.buscarLocalidadesOrigem(conexionRutaConf.getConexionRutaConfId()));
lsParadasDestinoB.addAll(conexionRutaTramoCtrlService.buscarLocalidadesDestino(conexionRutaConf.getConexionRutaConfId()));
lsParadasDestinoC.addAll(conexionRutaTramoCtrlService.buscarLocalidadesDestinoC(conexionRutaConf.getConexionRutaConfId()));
if(conexionRutaCtrl.getRutaDestinoCId() != null) {
ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaDestinoCId());
carregarRuta(lsParadasTodasDestinoC, lsRutaC, ruta);
}
lsParadasTodasOrigemA.addAll(conexionRutaTramoCtrlService.buscarTodasLocalidadesOrigem(conexionRutaConf.getConexionRutaConfId()));
lsParadasTodasOrigemA.removeAll(lsParadasOrigemA);
lsParadasOrigemA.addAll(conexionRutaTramoCtrlService.buscarLocalidadesOrigem(conexionRutaCtrl));
lsParadasTodasDestinoB.addAll(conexionRutaTramoCtrlService.buscarTodasLocalidadesDestino(conexionRutaConf.getConexionRutaConfId()));
lsParadasTodasDestinoB.removeAll(lsParadasDestinoB);
lsParadasDestinoB.addAll(conexionRutaTramoCtrlService.buscarLocalidadesDestino(conexionRutaCtrl));
lsParadasDestinoC.addAll(conexionRutaTramoCtrlService.buscarLocalidadesDestinoC(conexionRutaCtrl));
}
lsParadasTodasDestinoC.addAll(conexionRutaTramoCtrlService.buscarTodasLocalidadesDestinoC(conexionRutaConf.getConexionRutaConfId()));
lsParadasTodasDestinoC.removeAll(lsParadasDestinoC);
localidadesLinhaASelecionadaList.setData(new ArrayList<Parada>(lsParadasOrigemA));
localidadesOrigemlList.setData(new ArrayList<Parada>(lsParadasTodasOrigemA));
@ -182,7 +177,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
rutasBList.setData(lsRutaB);
rutasCList.setData(lsRutaC);
gerarCombinacao();
gerarCombinacao(true);
}else{
btnSalvar.setDisabled(true);
btnApagar.setDisabled(true);
@ -242,19 +237,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
}));
resultadoCombinacao.setSelected(false);
}
private void carregarRuta(Set<Parada> lsParadasTodas, List<Ruta> lsRuta, Ruta ruta) {
if(!lsRuta.contains(ruta)) {
lsRuta.add(ruta);
for (RutaCombinacion rc : ruta.getRutaCombinacionList()) {
if (rc.getTramo() != null) {
lsParadasTodas.add(rc.getTramo().getOrigem());
lsParadasTodas.add(rc.getTramo().getDestino());
}
}
}
}
@SuppressWarnings("unchecked")
@ -268,7 +251,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
conexionRutaConfService.excluirConfiguracao(conexionRutaConf, false);
}
gerarCombinacao();
gerarCombinacao(false);
List<ConexionRutaCtrlVO> lsConexionRutaCtrl = ConexionRutaCombinacionFactory.extrairConexionRutaCtrl(localidadesGeradas);
boolean itemNovo = false;
@ -284,7 +267,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
List<TipoPuntoVenta> canalVentas = listEspCanal.getListData();
List<PuntoVenta> puntoVentas = listPuntoVenta.getListData();
conexionRutaConf = conexionRutaConfService.salvarConfiguracao(conexionRutaConf, canalVentas, puntoVentas, conexoesCtrl, lsConexionRutaCtrl, localidadesGeradas);
conexionRutaConf = conexionRutaConfService.salvarConfiguracao(conexionRutaConf, canalVentas, puntoVentas,
conexoesCtrl, lsConexionRutaCtrl, localidadesGeradas);
if(itemNovo) {
conexionRutaConfList.addItemNovo(conexionRutaConf);
@ -479,7 +463,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
return;
}
gerarCombinacao();
gerarCombinacao(false);
}
private boolean validarItensSalvar() throws InterruptedException {
@ -838,8 +822,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
@SuppressWarnings("unchecked")
private void gerarCombinacao() {
private void gerarCombinacao(boolean carregarGravadas) {
localidadesGeradas = new ArrayList<ParadaVOConexionRuta>();
conexoesCtrl = new ArrayList<ConexionCtrl>();
@ -852,6 +835,12 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
List<Parada> listParadasC = localidadesLinhaCSelecionadaList.getListData();
List<ConexionCtrlVO> conexoesCtrlVO = new ArrayList<ConexionCtrlVO>(0);
if(carregarGravadas && conexionRutaConf != null) {
ConexionRutaConfVO conexionRutaConfVO = conexionRutaConfService.carregarConexoesCadastradas(conexionRutaConf.getConexionRutaConfId());
localidadesGeradas = new ArrayList<ParadaVOConexionRuta>(conexionRutaConfVO.getLocalidadesCombinadas());
Collections.sort(localidadesGeradas, new OrdenarLocalidadesGeradas());
conexoesCtrl = new ArrayList<ConexionCtrl>(conexionRutaConfVO.getListConexionCtrl());
} else {
if(rutasEixoC.isEmpty()) {
ConexionRutaCombinacionFactory.gerarCombinacionEntre2Eixos(listParada1,rutasEixoA, rutasEixoB, getLsLocalidadesComuns(), listParada4, rutasEixoA, rutasEixoB, localidadesGeradas, conexoesCtrlVO );
}else {
@ -862,6 +851,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
conexoesCtrl.add(new ConexionCtrl(conexionCtrlVO.getOrigenId(), conexionCtrlVO.getDestinoId(), conexionCtrlVO.getGrupo()));
}
}
localidadesCombinadasList.setData(localidadesGeradas);
localidadesCombinadasList.setItemRenderer(new RenderGeracaoConexionPorRuta());