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
master
valdevir 2022-04-13 21:54:18 +00:00
parent d48d1ddd54
commit e6a04108b3
11 changed files with 163 additions and 42 deletions

View File

@ -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();
}
}

View File

@ -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()) {

View File

@ -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<Parada> 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<Parada>();
lsLocalidades = paradaService.obtenerTodos();
localidadesListbox.setData(lsLocalidades);
localidadesListbox.setItemRenderer(new RenderParada());
}

View File

@ -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<Parada> lsLocalidadesComunsAB;
@ -101,7 +101,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
private Combobox cmbRutaC;
private List<TipoPuntoVenta> lsTipoPtovta;
private List<Ruta> lsRutas;
private List<ConexionCtrl> conexoesCtrl;
List<ParadaVOConexionRuta> 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<Parada>()));
localidadesComunsABList.setModel(new ListModelList(new ArrayList<Parada>()));
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<Parada>()));
localidadesComunsBCList.setModel(new ListModelList(new ArrayList<Parada>()));
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<Parada>(localidadesOrigemlList.getListData());
ArrayList<Parada> paradasDuplicadas = new ArrayList<Parada>(lsParadas);
paradasDuplicadas.retainAll(localidadesDestinoList.getListData());
//Lista auxiliar usada para ser setada na Listview de localidades comuns A e B
List<Parada> lsLocalidadesComunsABAux = new ArrayList<Parada>();
List<Parada> lsLocalidadesAgrupamento = new ArrayList<Parada>();
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<Parada>(paradasDuplicadas);
}
localidadesComunsList.setData(lsLocalidadesComunsAB);
localidadesComunsABList.setData(lsLocalidadesComunsABAux);
renderizarLinhasAB();
}
private void adicionaParadasDuplicadas(ArrayList<Parada> paradasDuplicadas, List<Parada> lsLocalidadesComunsABAux, List<Parada> 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<Parada> lsLocalidadesAgrupamento , List<Parada> 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<Parada>(paradasDuplicadas);
}
localidadesComunsDestinoCList.setData(new ListModelList(lsLocalidadesComunsLinhasBC));
localidadesComunsBCList.setData(new ListModelList(lsLocalidadesComunsLinhasBC));
renderizarLinhasBC();
}
@ -901,13 +938,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
}
}
}
public List<Ruta> getLsRutas() {
return lsRutas;
}
public void setLsRutas(List<Ruta> lsRutas) {
this.lsRutas = lsRutas;
}
/**
* @return the lsPtovata
*/

View File

@ -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");

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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

View File

@ -1008,7 +1008,16 @@
<image src="/gui/img/Question_mark_1.png"
tooltiptext="${c:l('editarEmpresaController.habilitaCheckinBloqueadoNoshowTooltip')}" style="cursor: help" />
</hlayout>
</groupbox>
</groupbox>
<groupbox>
<caption label="${c:l('editarEmpresaController.habilitaAgrupamentoLocalidadesConexao')}" />
<hlayout>
<checkbox id="chkIndAgrupamentoLocalidadeConexao"
value="@{winEditarEmpresa$composer.empresa.indAgrupLocConexao}" />
<image src="/gui/img/Question_mark_1.png"
tooltiptext="${c:l('editarEmpresaController.habilitaAgrupamentoLocalidadesConexaoTooltip')}" style="cursor: help" />
</hlayout>
</groupbox>
<groupbox>
<caption label="${c:l('editarEmpresaController.limitaCategoriaPorCorrida')}" />
<hlayout>
@ -1017,7 +1026,7 @@
<image src="/gui/img/Question_mark_1.png"
tooltiptext="${c:l('editarEmpresaController.limitaCategoriaPorCorridaTooltip')}" style="cursor: help" />
</hlayout>
</groupbox>
</groupbox>
</row>
</rows>
</grid>

View File

@ -45,8 +45,36 @@
value="@{winEditarAgruparParada$composer.agrupamentoParada.cveAgrupamentoParada}"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</row>
<row>
<label
value="${c:l('editarCatalogoDeAgruparParadaController.lbLocalidade.value')}" />
<combobox id="cmbLocalidade"
autodrop="false" mold="rounded" buttonVisible="true"
width="90%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada" />
</row>
<row id="rowAddEmbarqueDesembarque">
<label
value="${c:l('editarCatalogoDeAgruparParadaController.lbAddBorrar.value')}" />
<hbox>
<button id="btnAdicionarLocalidade"
height="20" image="/gui/img/add.png" width="35px" />
<button id="btnRemoverLocalidade"
height="20" image="/gui/img/remove.png" width="35px" />
</hbox>
</row>
</rows>
</grid>
<listbox id="localidadesListbox"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
height="360px">
<listhead sizable="true">
<listheader image="/gui/img/create_doc.gif"
label="${c:l('editarCatalogoDeAgruparParadaController.lbLocalidade.value = Localidade')}" />
</listhead>
</listbox>
<separator />
</window>
</zk>

View File

@ -298,7 +298,7 @@
width="100%">
<center border="0">
<listbox
id="localidadesComunsList" style="background: #ffa99c"
id="localidadesComunsABList" style="background: #ffa99c"
mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="true" height="50%" width="100%">
@ -344,7 +344,7 @@
width="100%">
<center border="0">
<listbox
id="localidadesComunsDestinoCList"
id="localidadesComunsBCList"
style="background: #ffa99c" mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="true" height="50%" width="100%">