From e6a04108b3b2b4bf9ffad15dd2365f73914d2157 Mon Sep 17 00:00:00 2001 From: valdevir Date: Wed, 13 Apr 2022 21:54:18 +0000 Subject: [PATCH] fixes bug#24160 qua: dev:Valdevir git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@111888 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/rest/SincronizarTramos.java | 6 ++ .../catalogos/EditarEmpresaController.java | 6 +- ...itarCatalogoDeAgruparParadaController.java | 15 ++++ .../GerarConexionPorRutaController.java | 85 +++++++++++++------ .../ventaboletos/web/utilerias/MyAppInit.java | 19 +++-- .../utilerias/render/RenderConexionRuta.java | 2 +- .../web/utilerias/render/RenderParada.java | 24 ++++++ web/WEB-INF/i3-label_pt_BR.label | 3 + web/gui/catalogos/editarEmpresa.zul | 13 ++- .../editarAgruparParada.zul | 28 ++++++ .../gerarConexionPorRuta.zul | 4 +- 11 files changed, 163 insertions(+), 42 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java diff --git a/src/java/com/rjconsultores/ventaboletos/rest/SincronizarTramos.java b/src/java/com/rjconsultores/ventaboletos/rest/SincronizarTramos.java index 45a8fe9c8..6e1fe5e6d 100644 --- a/src/java/com/rjconsultores/ventaboletos/rest/SincronizarTramos.java +++ b/src/java/com/rjconsultores/ventaboletos/rest/SincronizarTramos.java @@ -8,13 +8,18 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import org.apache.log4j.Logger; + import com.rjconsultores.ventaboletos.rest.bean.ParamsSincronizarTramo; import com.rjconsultores.ventaboletos.rest.service.SincronizarTramoService; +import com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional.GerarConexionPorRutaController; import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; @Path("/sincronizarTramos") public class SincronizarTramos { + private static Logger log = Logger.getLogger(SincronizarTramos.class); + @POST @Consumes({ MediaType.APPLICATION_JSON }) @RolesAllowed("EMBARCADA") @@ -25,6 +30,7 @@ public class SincronizarTramos { try { return Response.ok(service.buscarListaTramosPorListCorridas(params), MediaType.APPLICATION_JSON).build(); } catch (Exception e) { + log.error(e.getMessage(), e); return Response.status(Response.Status.NOT_FOUND).entity(e.getMessage()).build(); } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java index 3af4d9bc2..ada1a4d7d 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java @@ -369,6 +369,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private byte[] certificado; private Tab tabSafer; private Checkbox chkIndCheckinBloqueadoNoshow; + private Checkbox chkIndAgrupamentoLocalidadeConexao; private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; @@ -543,6 +544,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer { cnhIndSeguroOpcionalW2Digital.setChecked(BooleanUtils.toBoolean(empresa.getIndSeguroOpcionalW2Digital())); chkIndLimitaCategoriaPorCorrida.setChecked(BooleanUtils.toBoolean(empresa.getIndLimitaCategoriaPorCorrida())); chkIndCheckinBloqueadoNoshow.setChecked(BooleanUtils.toBoolean(empresa.getIndCheckinBloqueadoRemarcacao())); + chkIndAgrupamentoLocalidadeConexao.setChecked(BooleanUtils.toBoolean(empresa.getIndAgrupLocConexao())); txtUrlBaseSeguro.setText(empresa.getUrlBaseEmpresaSeguro()); @@ -927,7 +929,9 @@ public class EditarEmpresaController extends MyGenericForwardComposer { empresa.setIndSeguroOpcionalW2Digital(cnhIndSeguroOpcionalW2Digital.isChecked()); empresa.setIndLimitaCategoriaPorCorrida(chkIndLimitaCategoriaPorCorrida.isChecked()); empresa.setIndCheckinBloqueadoRemarcacao(chkIndCheckinBloqueadoNoshow.isChecked()); - + + empresa.setIndAgrupLocConexao(chkIndAgrupamentoLocalidadeConexao.isChecked()); + if(rdCst00.isChecked()) { empresa.setCstGratuidade(TipoCstGratuidade.CST00); } else if(rdCst40.isChecked()) { diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeAgruparParadaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeAgruparParadaController.java index d4fed6b01..f23f61a90 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeAgruparParadaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeAgruparParadaController.java @@ -1,5 +1,8 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional; +import java.util.ArrayList; +import java.util.List; + import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; @@ -13,10 +16,14 @@ import org.zkoss.zul.Messagebox; import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.AgrupamentoParada; +import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.AgruparParadaService; +import com.rjconsultores.ventaboletos.service.ParadaService; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderParada; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutaEmbarqueDesembarque; @Controller("editarCatalogoDeAgruparParadaController") @Scope("prototype") @@ -29,11 +36,15 @@ public class EditarCatalogoDeAgruparParadaController extends MyGenericForwardCom @Autowired private AgruparParadaService agruparParadaService; + @Autowired + private ParadaService paradaService; private AgrupamentoParada agrupamentoParada; private MyListbox agrupamentoParadaList; private static Logger log = Logger.getLogger(EditarCatalogoDeAgruparParadaController.class); private Textbox descAgrupamentoParada; private Textbox cveAgrupamentoParada; + private MyListbox localidadesListbox; + private List lsLocalidades ; public AgruparParadaService getAgruparParadaService() { return agruparParadaService; @@ -80,6 +91,10 @@ public class EditarCatalogoDeAgruparParadaController extends MyGenericForwardCom super.doAfterCompose(comp); agrupamentoParada = (AgrupamentoParada) Executions.getCurrent().getArg().get("agrupamentoParada"); agrupamentoParadaList = (MyListbox) Executions.getCurrent().getArg().get("agrupamentoParadaList"); + lsLocalidades = new ArrayList(); + lsLocalidades = paradaService.obtenerTodos(); + localidadesListbox.setData(lsLocalidades); + localidadesListbox.setItemRenderer(new RenderParada()); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java index 4ecc6d57b..32b0c8ee8 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java @@ -88,8 +88,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private MyListbox rutasBList; private MyListbox rutasCList; private MyListbox localidadesCombinadasList; - private MyListbox localidadesComunsList; - private MyListbox localidadesComunsDestinoCList; + private MyListbox localidadesComunsABList; + private MyListbox localidadesComunsBCList; private MyListbox listEspCanal; private MyListbox listPuntoVenta; private List lsLocalidadesComunsAB; @@ -101,7 +101,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private Combobox cmbRutaC; private List lsTipoPtovta; - private List lsRutas; private List conexoesCtrl; List localidadesGeradas; private ConexionRutaConf conexionRutaConf; @@ -119,7 +118,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { txtTiempoMin.setConstraint("no empty"); txtDescricao.setConstraint("no empty"); - lsRutas = rutaService.obtenerTodos(); lsTipoPtovta = tipoPuntoVentaService.obtenerTodos(); conexionRutaConf = (ConexionRutaConf) Executions.getCurrent().getArg().get("conexionRutaConf"); @@ -379,15 +377,15 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } public void renderizarLinhasAB() { - localidadesComunsList.setItemRenderer(new RenderEixoConexionRutaRemoveSelecionada(new EventListener() { + localidadesComunsABList.setItemRenderer(new RenderEixoConexionRutaRemoveSelecionada(new EventListener() { @Override public void onEvent(Event arg0) throws Exception { Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data"); - for (Object objectParada : localidadesComunsList.getListData()) { + for (Object objectParada : localidadesComunsABList.getListData()) { if (((Parada) objectParada).equals(conexionRutaVO)) { - localidadesComunsList.removeItem(conexionRutaVO); + localidadesComunsABList.removeItem(conexionRutaVO); lsLocalidadesComunsAB.remove(conexionRutaVO); break; } @@ -397,15 +395,15 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } public void renderizarLinhasBC() { - localidadesComunsDestinoCList.setItemRenderer(new RenderEixoConexionRutaRemoveSelecionada(new EventListener() { + localidadesComunsBCList.setItemRenderer(new RenderEixoConexionRutaRemoveSelecionada(new EventListener() { @Override public void onEvent(Event arg0) throws Exception { Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data"); - for (Object objectParada : localidadesComunsDestinoCList.getListData()) { + for (Object objectParada : localidadesComunsBCList.getListData()) { if (((Parada) objectParada).equals(conexionRutaVO)) { - localidadesComunsDestinoCList.removeItem(conexionRutaVO); + localidadesComunsBCList.removeItem(conexionRutaVO); lsLocalidadesComunsLinhasBC.remove(conexionRutaVO); break; } @@ -417,7 +415,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private void executarPesquisaLocalidadesOrigen() throws InterruptedException { localidadesCombinadasList.clear(); - localidadesComunsList.setModel(new ListModelList(new ArrayList())); + localidadesComunsABList.setModel(new ListModelList(new ArrayList())); try { localidadesOrigemlList.setItemRenderer(new RenderConexionRuta(new EventListener() { @@ -443,7 +441,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } } })); - gerarLocalidadesComuns(); + gerarLocalidadesComunsAB(); } catch (Exception e) { log.error("", e); } @@ -453,7 +451,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private void executarPesquisaLocalidadesDestino() throws InterruptedException { localidadesCombinadasList.clear(); - localidadesComunsDestinoCList.setModel(new ListModelList(new ArrayList())); + localidadesComunsBCList.setModel(new ListModelList(new ArrayList())); try { localidadesDestinoList.setItemRenderer(new RenderConexionRuta(new EventListener() { @@ -514,7 +512,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } } })); - gerarLocalidadesComuns(); + gerarLocalidadesComunsBC(); } catch (Exception e) { log.error("", e); } @@ -534,22 +532,61 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { lsParadas = new HashSet(localidadesOrigemlList.getListData()); ArrayList paradasDuplicadas = new ArrayList(lsParadas); paradasDuplicadas.retainAll(localidadesDestinoList.getListData()); + //Lista auxiliar usada para ser setada na Listview de localidades comuns A e B + List lsLocalidadesComunsABAux = new ArrayList(); + List lsLocalidadesAgrupamento = new ArrayList(); localidadesLinhaASelecionadaList.getListData().removeAll(paradasDuplicadas); localidadesLinhaBSelecionadaList.getListData().removeAll(paradasDuplicadas); if(lsLocalidadesComunsAB!=null) { - for (Parada parada : paradasDuplicadas) { - if(!lsLocalidadesComunsAB.contains(parada)){ - lsLocalidadesComunsAB.add(parada); - } - } + adicionaParadasDuplicadas(paradasDuplicadas, lsLocalidadesComunsABAux, lsLocalidadesAgrupamento); }else { lsLocalidadesComunsAB = new ArrayList(paradasDuplicadas); } - localidadesComunsList.setData(lsLocalidadesComunsAB); + localidadesComunsABList.setData(lsLocalidadesComunsABAux); renderizarLinhasAB(); } + + private void adicionaParadasDuplicadas(ArrayList paradasDuplicadas, List lsLocalidadesComunsABAux, List lsLocalidadesAgrupamento) { + for (Parada parada : paradasDuplicadas) { + if(!lsLocalidadesComunsAB.contains(parada)){ + if(parada.getAgrupamentoParada()!=null) { + try { + validaParadaAgrupamento(lsLocalidadesAgrupamento, lsLocalidadesComunsABAux, parada); + } catch (CloneNotSupportedException e) { + log.error("Erro ao clonar objeto Parada: " + parada.toString(), e); + continue; + } + }else { + lsLocalidadesComunsABAux.add(parada); + } + lsLocalidadesComunsAB.add(parada); + } + } + } + + private void validaParadaAgrupamento(List lsLocalidadesAgrupamento , List lsLocalidadesComunsABAux, Parada parada) throws CloneNotSupportedException { + Parada paradaAux = new Parada(); + + paradaAux = (Parada) parada.clone(); + + paradaAux.setDescparada(parada.getAgrupamentoParada().getDescAgrupamentoParada()); + paradaAux.setCveparada(parada.getAgrupamentoParada().getCveAgrupamentoParada()); + //Caso agrupamento já adicionado na lista não aparece na listview para não duplicar + //mas é adicionado de localidades comuns de classe normalmente, apenas na listeview (tela que não irá aparecer). + Boolean isAdicionaParanaListView = Boolean.TRUE; + for (Parada paradaAgrupamento : lsLocalidadesAgrupamento) { + if( paradaAux.getAgrupamentoParada().equals(paradaAgrupamento.getAgrupamentoParada())) { + isAdicionaParanaListView = Boolean.FALSE; + } + } + if(isAdicionaParanaListView) { + lsLocalidadesAgrupamento.add(parada); + lsLocalidadesComunsABAux.add(paradaAux); + } + + } @SuppressWarnings("unchecked") private void gerarLocalidadesComunsBC() { @@ -567,7 +604,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { }else { lsLocalidadesComunsLinhasBC = new ArrayList(paradasDuplicadas); } - localidadesComunsDestinoCList.setData(new ListModelList(lsLocalidadesComunsLinhasBC)); + localidadesComunsBCList.setData(new ListModelList(lsLocalidadesComunsLinhasBC)); renderizarLinhasBC(); } @@ -901,13 +938,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } } } - public List getLsRutas() { - return lsRutas; - } - public void setLsRutas(List lsRutas) { - this.lsRutas = lsRutas; - } /** * @return the lsPtovata */ diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java index cb9b610c3..099a71d8a 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java @@ -1,4 +1,5 @@ /* + * To change this template, choose Tools | Templates * and open the template in the editor. */ @@ -84,22 +85,22 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit { log.info("ip liberado"); // Generacion Automatica de Corridas - jobGeneracionCorridas(); + //jobGeneracionCorridas(); //Geração automatíca da conferência de mmovimento. - jobGeneracionConferenciaMovimento(); + //jobGeneracionConferenciaMovimento(); //Monitoramento automático de Quebra de sequência na Redução Z. - jobMonitoramentoReducaoZ(); + //jobMonitoramentoReducaoZ(); //Retencao diara comissao - jobGeneracionRetencaoDiariaComissao(); + //jobGeneracionRetencaoDiariaComissao(); - jobIntegracaoSap(); + //jobIntegracaoSap(); } executeFlyway(); - customToDatabase(); - imageToDatabase(); + //customToDatabase(); + //imageToDatabase(); } @@ -263,10 +264,10 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit { log.info("Horario de geracao de corrida : " + hora[0] + ":" + hora[1]); - Trigger trigger = TriggerUtils.makeDailyTrigger("generacionCorridasTrigger", hora[0], hora[1]); + //Trigger trigger = TriggerUtils.makeDailyTrigger("generacionCorridasTrigger", hora[0], hora[1]); // TESTE TRIGGER - // Trigger trigger = TriggerUtils.makeImmediateTrigger("generacionCorridasTrigger", 1, 1000); + Trigger trigger = TriggerUtils.makeImmediateTrigger("generacionCorridasTrigger", 0, 1000); trigger.setName("generacionCorridasTrigger"); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConexionRuta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConexionRuta.java index f84a73084..ea35003a0 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConexionRuta.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConexionRuta.java @@ -29,7 +29,7 @@ public class RenderConexionRuta implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { Parada parada = (Parada) o; - + Listcell lc = new Listcell(parada.getDescparada().toString()); lc.setParent(lstm); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java new file mode 100644 index 000000000..35b2d0f4e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java @@ -0,0 +1,24 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Parada; + +public class RenderParada implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + Parada parada = (Parada) o; + + Listcell lc = new Listcell(parada.getParadaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(parada.getCveparada() + " - " + parada.getDescparada()); + lc.setParent(lstm); + + + lstm.setAttribute("data", parada); + + } +} diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 09e23b981..0895641d8 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -2888,6 +2888,9 @@ editarCatalogoDeAgruparParadaController.MSG.borrarPergunta = Deseja Eliminar ess editarCatalogoDeAgruparParadaController.MSG.borrarOK = Agrupamento de Localidade Excluido com Sucesso. editarCatalogoDeParadaController.registroDESCAGRUPAMENTOPARADAexiste = Já existe um agrupamento de localidade com essa descrição editarCatalogoDeParadaController.registroCVEAGRUPAMENTOPARADAexiste = Já existe um agrupamento de localidade com esse CVE +editarCatalogoDeAgruparParadaController.lbLocalidade.value = Localidade +editarCatalogoDeAgruparParadaController.lbAddBorrar.value = Incluir/Remover Localidade + # Detener a pantalla de Pesquisa busquedaCatalogoDeRutaManutencaoController.window.title = Manutenção de Operação de Linhas diff --git a/web/gui/catalogos/editarEmpresa.zul b/web/gui/catalogos/editarEmpresa.zul index 3f991d5d3..732f596f7 100644 --- a/web/gui/catalogos/editarEmpresa.zul +++ b/web/gui/catalogos/editarEmpresa.zul @@ -1008,7 +1008,16 @@ - + + + + + + + + @@ -1017,7 +1026,7 @@ - + diff --git a/web/gui/esquema_operacional/editarAgruparParada.zul b/web/gui/esquema_operacional/editarAgruparParada.zul index ffeb869a6..8d8edc811 100644 --- a/web/gui/esquema_operacional/editarAgruparParada.zul +++ b/web/gui/esquema_operacional/editarAgruparParada.zul @@ -45,8 +45,36 @@ value="@{winEditarAgruparParada$composer.agrupamentoParada.cveAgrupamentoParada}" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" /> + + + + +