issue #7460 - cancelar retomar ruta

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@58745 d1611594-4594-4d17-8e1d-87c2c4800839
master
edgar 2016-08-04 17:41:55 +00:00
parent cc83a1cdd0
commit 1d1ffcd42e
2 changed files with 162 additions and 103 deletions

View File

@ -56,7 +56,9 @@ import org.zkoss.zul.ext.Constrainted;
import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa; import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.GrupoRuta; import com.rjconsultores.ventaboletos.entidad.GrupoRuta;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
@ -72,6 +74,7 @@ import com.rjconsultores.ventaboletos.entidad.TramoServicio;
import com.rjconsultores.ventaboletos.entidad.Via; import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.ClaseServicioService; import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService; import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
import com.rjconsultores.ventaboletos.service.GrupoRutaService; import com.rjconsultores.ventaboletos.service.GrupoRutaService;
@ -134,6 +137,9 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
private GrupoRutaService grupoRutaService; private GrupoRutaService grupoRutaService;
@Autowired @Autowired
private transient PagedListWrapper<RutaCombinacion> plwRutaCombinacion; private transient PagedListWrapper<RutaCombinacion> plwRutaCombinacion;
@Autowired
private CorridaService corridaService;
private Ruta ruta; private Ruta ruta;
private MyListbox rutaList; private MyListbox rutaList;
private MyListbox rutaSecuenciaList; private MyListbox rutaSecuenciaList;
@ -175,6 +181,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
private MyTextbox txtNumRioCard; private MyTextbox txtNumRioCard;
private Window winEditarRuta; private Window winEditarRuta;
private List<ParadaSecuencia> sequenciasInformadas; private List<ParadaSecuencia> sequenciasInformadas;
private Button btnCancelarRetomar;
public Ruta getRuta() { public Ruta getRuta() {
return ruta; return ruta;
@ -283,8 +290,6 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
ruta = (Ruta) Executions.getCurrent().getArg().get("ruta"); ruta = (Ruta) Executions.getCurrent().getArg().get("ruta");
rutaList = (MyListbox) Executions.getCurrent().getArg().get("rutaList"); rutaList = (MyListbox) Executions.getCurrent().getArg().get("rutaList");
super.doAfterCompose(comp); super.doAfterCompose(comp);
// Secuencia // Secuencia
@ -292,46 +297,46 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
lsRutaSecuencia = new ArrayList<RutaSecuencia>(); lsRutaSecuencia = new ArrayList<RutaSecuencia>();
sequenciasInformadas = new ArrayList<ParadaSecuencia>(); sequenciasInformadas = new ArrayList<ParadaSecuencia>();
rutaSecuenciaList.addEventListener("onDoubleClick", new EventListener() { rutaSecuenciaList.addEventListener("onDoubleClick", new EventListener() {
@Override @Override
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
if(ruta.getRutaId() == null){ if (ruta.getRutaId() == null) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.salvarRutaPrimeiro"), Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.salvarRutaPrimeiro"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"), Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION); Messagebox.OK, Messagebox.EXCLAMATION);
return; return;
} }
ParadaSecuencia psOrigen = (ParadaSecuencia)rutaSecuenciaList.getSelected(); ParadaSecuencia psOrigen = (ParadaSecuencia) rutaSecuenciaList.getSelected();
int indexSelecto = rutaSecuenciaList.getSelectedIndex(); int indexSelecto = rutaSecuenciaList.getSelectedIndex();
ParadaSecuencia psDestino = new ParadaSecuencia(); ParadaSecuencia psDestino = new ParadaSecuencia();
try{ try {
psDestino = (ParadaSecuencia)lsParadasSequencia.get(indexSelecto+1); psDestino = (ParadaSecuencia) lsParadasSequencia.get(indexSelecto + 1);
}catch(IndexOutOfBoundsException e){ } catch (IndexOutOfBoundsException e) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.finRuta"), Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.finRuta"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"), Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION); Messagebox.OK, Messagebox.EXCLAMATION);
return; return;
} }
if (psOrigen == null) { //lsRutaSecuencia <-- esse objeto ja tem o id da ruta secuencia .... if (psOrigen == null) { // lsRutaSecuencia <-- esse objeto ja tem o id da ruta secuencia ....
return; return;
} }
Map args = new HashMap(); Map args = new HashMap();
args.put("paradaSecuenciaOrigen", psOrigen); args.put("paradaSecuenciaOrigen", psOrigen);
args.put("paradaSecuenciaDestino", psDestino); args.put("paradaSecuenciaDestino", psDestino);
args.put("lsRutaSecuencia", lsRutaSecuencia); args.put("lsRutaSecuencia", lsRutaSecuencia);
args.put("lsParadasSequencia", lsParadasSequencia); args.put("lsParadasSequencia", lsParadasSequencia);
args.put("rutaSecuenciaList", rutaSecuenciaList); args.put("rutaSecuenciaList", rutaSecuenciaList);
args.put("casetasList", getCasetasPeage(psOrigen.getCasetas())); args.put("casetasList", getCasetasPeage(psOrigen.getCasetas()));
openWindow("/gui/esquema_operacional/editarSecuencia.zul", Labels.getLabel("editarSecuenciaController.window.title"), args, MODAL); openWindow("/gui/esquema_operacional/editarSecuencia.zul", Labels.getLabel("editarSecuenciaController.window.title"), args, MODAL);
} }
}); });
txtNumRioCard.setDisabled(ruta.getIndVentaRioCard() == null || !ruta.getIndVentaRioCard()); txtNumRioCard.setDisabled(ruta.getIndVentaRioCard() == null || !ruta.getIndVentaRioCard());
chkIndVentaRioCard.addEventListener("onClick", new EventListener() { chkIndVentaRioCard.addEventListener("onClick", new EventListener() {
@Override @Override
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
@ -339,7 +344,6 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
} }
}); });
// Combinacion // Combinacion
rutaCombinacionList.setItemRenderer(this); rutaCombinacionList.setItemRenderer(this);
lsRutaCombinacion = new ArrayList<RutaCombinacion>(); lsRutaCombinacion = new ArrayList<RutaCombinacion>();
@ -387,12 +391,24 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
} }
carregouCombinacao = false; carregouCombinacao = false;
alterarBotaoRetomarCancelar();
}
private void alterarBotaoRetomarCancelar() {
if (ruta.getIndRutaCancelada()) {
btnCancelarRetomar.setTooltiptext(Labels.getLabel("editarCatalogoDeRutaController.btnRetomarCancelar.tooltipRetomar"));
btnCancelarRetomar.setImage("/gui/img/back.png");
} else {
btnCancelarRetomar.setTooltiptext(Labels.getLabel("editarCatalogoDeRutaController.btnRetomarCancelar.tooltipCancelar"));
btnCancelarRetomar.setImage("/gui/img/forbidden.png");
}
} }
private List<CasetaPeaje> getCasetasPeage(List<RutaCaseta> casetas) { private List<CasetaPeaje> getCasetasPeage(List<RutaCaseta> casetas) {
List<CasetaPeaje> casetasPeage = new ArrayList<CasetaPeaje>(); List<CasetaPeaje> casetasPeage = new ArrayList<CasetaPeaje>();
if(casetas == null || casetas.isEmpty()) { if (casetas == null || casetas.isEmpty()) {
return casetasPeage; return casetasPeage;
} }
@ -403,8 +419,43 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
return casetasPeage; return casetasPeage;
} }
public void onClick$btnCancelarRetomar(Event ev) throws Exception {
if (!ruta.getIndRutaCancelada()) {
if (!existeEsquemaCorridaVigente() && !existeCorridaVenda()) {
ruta.setIndRutaCancelada(true);// cancelar
salvarRuta();
}
} else {
ruta.setIndRutaCancelada(false);// retomar
alterarBotaoRetomarCancelar();
}
}
private boolean existeCorridaVenda() throws InterruptedException {
Corrida corrida = corridaService.buscaCorrridaFutura(ruta, new Date());
if (corrida != null) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.corridaGeradaVigente")
+ " " + corrida.getId().getCorridaId()
+ " "
+ Labels.getLabel("editarCatalogoDeRutaController.msg.corridaGeradaVigentePt2")
+ " " + DateUtil.getStringDate(corrida.getId().getFeccorrida(), DateUtil.ddMMaa));
return true;
}
return false;
}
private Boolean existeEsquemaCorridaVigente() throws InterruptedException {
EsquemaCorrida esquemaCorrida = esquemaCorridaService.buscaEsquemaPorRuta(ruta);
if (esquemaCorrida != null) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.existeEsquemaCorridaVigente")
+ " " + esquemaCorrida.getNumCorrida());
return true;
}
return false;
}
protected void disableEnableNumRioCard() { protected void disableEnableNumRioCard() {
if(chkIndVentaRioCard.isChecked()) { if (chkIndVentaRioCard.isChecked()) {
txtNumRioCard.setDisabled(false); txtNumRioCard.setDisabled(false);
txtNumRioCard.setConstraint("no empty"); txtNumRioCard.setConstraint("no empty");
} else { } else {
@ -416,9 +467,8 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
private void paginarCombinacao() { private void paginarCombinacao() {
if (ruta.getRutaId() != null) { if (ruta.getRutaId() != null) {
HibernateSearchObject<RutaCombinacion> claseServicioBusqueda = HibernateSearchObject<RutaCombinacion> claseServicioBusqueda = new HibernateSearchObject<RutaCombinacion>(RutaCombinacion.class,
new HibernateSearchObject<RutaCombinacion>(RutaCombinacion.class, pagingRutaCombinacion.getPageSize());
pagingRutaCombinacion.getPageSize());
claseServicioBusqueda.addFilterEqual("activo", Boolean.TRUE); claseServicioBusqueda.addFilterEqual("activo", Boolean.TRUE);
claseServicioBusqueda.addFilterEqual("ruta", ruta); claseServicioBusqueda.addFilterEqual("ruta", ruta);
@ -434,6 +484,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
paradaSecuencia.setVia(via); paradaSecuencia.setVia(via);
lsParadasSequencia.add(paradaSecuencia); lsParadasSequencia.add(paradaSecuencia);
} }
private void addTramoPardaSecuencia(Parada parada, Via via, Short numsecuencia, List<RutaCaseta> lCas, String tempo, String km) { private void addTramoPardaSecuencia(Parada parada, Via via, Short numsecuencia, List<RutaCaseta> lCas, String tempo, String km) {
ParadaSecuencia paradaSecuencia = new ParadaSecuencia(); ParadaSecuencia paradaSecuencia = new ParadaSecuencia();
paradaSecuencia.setParada(parada); paradaSecuencia.setParada(parada);
@ -517,7 +568,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
ParadaSecuencia paradaSecuencia = new ParadaSecuencia(); ParadaSecuencia paradaSecuencia = new ParadaSecuencia();
paradaSecuencia.setParada(parada); paradaSecuencia.setParada(parada);
paradaSecuencia.setSecuencia(numSecuencia.getValue().shortValue()); paradaSecuencia.setSecuencia(numSecuencia.getValue().shortValue());
paradaSecuencia.setVia((Via)cmbVia.getSelectedItem().getValue()); paradaSecuencia.setVia((Via) cmbVia.getSelectedItem().getValue());
sequenciasInformadas.add(paradaSecuencia); sequenciasInformadas.add(paradaSecuencia);
@ -753,17 +804,25 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
} }
public void onClick$btnSalvar(Event ev) throws InterruptedException { public void onClick$btnSalvar(Event ev) throws InterruptedException {
if (ruta.getIndRutaCancelada()) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.linhaDesativada"));
return;
}
salvarRuta();
}
private void salvarRuta() throws InterruptedException {
txtPrefixo.getValue(); txtPrefixo.getValue();
txtNumRioCard.getValue(); txtNumRioCard.getValue();
if(null != txtCantEixos && txtCantEixos.getValue()!= null && txtCantEixos.getValue() == 0){ if (null != txtCantEixos && txtCantEixos.getValue() != null && txtCantEixos.getValue() == 0) {
Messagebox.show( Messagebox.show(
Labels.getLabel("editarCatalogoDeRutaController.lblCantEixosZeroInvalido.value"), Labels.getLabel("editarCatalogoDeRutaController.lblCantEixosZeroInvalido.value"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"), Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION); Messagebox.OK, Messagebox.EXCLAMATION);
return; return;
} }
if(null != txtCantAsientos && txtCantAsientos.getValue() != null && txtCantAsientos.getValue() == 0){ if (null != txtCantAsientos && txtCantAsientos.getValue() != null && txtCantAsientos.getValue() == 0) {
Messagebox.show( Messagebox.show(
Labels.getLabel("editarCatalogoDeRutaController.lblCantAsientosZeroInvalido.value"), Labels.getLabel("editarCatalogoDeRutaController.lblCantAsientosZeroInvalido.value"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"), Labels.getLabel("editarCatalogoDeRutaController.window.title"),
@ -840,7 +899,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
Messagebox.show(Labels.getLabel( Messagebox.show(Labels.getLabel(
"editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: " "editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: "
+ ruta.getRutaId().toString()), + ruta.getRutaId().toString()),
Labels.getLabel("editarCatalogoDeRutaController.window.title"), Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.OK,
Messagebox.INFORMATION); Messagebox.INFORMATION);
@ -921,7 +980,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
op.add("Não"); op.add("Não");
comboVenda.setModel(new ListModelList(op)); comboVenda.setModel(new ListModelList(op));
comboVenda.setValue(rutaCombinacion.getIndventa() == Boolean.TRUE ? "Sim" : "Não"); comboVenda.setValue(rutaCombinacion.getIndventa() == Boolean.TRUE ? "Sim" : "Não");
if(rutaCombinacion.getRutacombinacionId() != null){ if (rutaCombinacion.getRutacombinacionId() != null) {
comboVenda.setTooltip(rutaCombinacion.getRutacombinacionId().toString()); comboVenda.setTooltip(rutaCombinacion.getRutacombinacionId().toString());
} }
comboVenda.addEventListener("onChange", new EventListener() { comboVenda.addEventListener("onChange", new EventListener() {
@ -936,11 +995,10 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
lc.appendChild(comboVenda); lc.appendChild(comboVenda);
lc.setParent(lstm); lc.setParent(lstm);
Tramo tramo = rutaCombinacion.getTramo(); Tramo tramo = rutaCombinacion.getTramo();
String descTramoDetalhado = tramo.getOrigem().getDescparada() + "|" +tramo.getDestino().getDescparada(); String descTramoDetalhado = tramo.getOrigem().getDescparada() + "|" + tramo.getDestino().getDescparada();
lc = new Listcell(rutaCombinacion.getTramo().getDesctramo() + "("+descTramoDetalhado+")"); lc = new Listcell(rutaCombinacion.getTramo().getDesctramo() + "(" + descTramoDetalhado + ")");
lc.setParent(lstm); lc.setParent(lstm);
lc = new Listcell(); lc = new Listcell();
@ -948,8 +1006,8 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
final Combobox comboVia = new Combobox(); final Combobox comboVia = new Combobox();
comboVia.setMold("rounded"); comboVia.setMold("rounded");
comboVia.setWidth("90%"); comboVia.setWidth("90%");
if(rutaCombinacion.getRutacombinacionId() != null){ if (rutaCombinacion.getRutacombinacionId() != null) {
comboVia.setTooltip(rutaCombinacion.getRutacombinacionId().toString()); comboVia.setTooltip(rutaCombinacion.getRutacombinacionId().toString());
} }
List<Via> lsViaCombinacion = tramoService.obtenerViasOrigemDestino( List<Via> lsViaCombinacion = tramoService.obtenerViasOrigemDestino(
rutaCombinacion.getTramo().getOrigem(), rutaCombinacion.getTramo().getDestino()); rutaCombinacion.getTramo().getOrigem(), rutaCombinacion.getTramo().getDestino());
@ -1058,7 +1116,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
List<RutaCombinacion> rutaCombinacions = new ArrayList<RutaCombinacion>(); List<RutaCombinacion> rutaCombinacions = new ArrayList<RutaCombinacion>();
for (RutaCombinacion rc : rutaCombinacionsAntiga){ for (RutaCombinacion rc : rutaCombinacionsAntiga) {
RutaCombinacion newrc = (RutaCombinacion) rc.clone(); RutaCombinacion newrc = (RutaCombinacion) rc.clone();
newrc.setRuta(ruta); newrc.setRuta(ruta);
newrc.setRutacombinacionId(null); newrc.setRutacombinacionId(null);
@ -1108,10 +1166,10 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
} }
} }
private void gerarCombinacaoTramoRuta(Ruta ruta, List<ParadaSecuencia> sequencias) { private void gerarCombinacaoTramoRuta(Ruta ruta, List<ParadaSecuencia> sequencias) {
List<ParadaSecuenciaCombinacaoLinha> sequenciasAGerar = rutaService.verificarSeqRutaNaoGerada(ruta, sequencias); List<ParadaSecuenciaCombinacaoLinha> sequenciasAGerar = rutaService.verificarSeqRutaNaoGerada(ruta, sequencias);
if (sequenciasAGerar != null){ if (sequenciasAGerar != null) {
Map<String, Object> params = new LinkedHashMap<String, Object>(); Map<String, Object> params = new LinkedHashMap<String, Object>();
@ -1134,7 +1192,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
params.put("lsSequencias", sequencias); params.put("lsSequencias", sequencias);
this.openWindow("/gui/esquema_operacional/generacion_tramo_ruta/gerarCombinacionTramoRuta.zul", this.openWindow("/gui/esquema_operacional/generacion_tramo_ruta/gerarCombinacionTramoRuta.zul",
Labels.getLabel("gerarCombinacionTramoRutaController.window.title"), params, MODAL); Labels.getLabel("gerarCombinacionTramoRutaController.window.title"), params, MODAL);
} }
} }

View File

@ -1802,9 +1802,10 @@ editarCatalogoDeRutaController.padraoRecorrido = Tempo Padrão
editarCatalogoDeRutaController.tempoLocalidade = Tempo Localidade editarCatalogoDeRutaController.tempoLocalidade = Tempo Localidade
editarCatalogoDeRutaController.msg.rutaDesativadaId=Edição não permitida! O serviço contem uma rota inativa com id editarCatalogoDeRutaController.msg.rutaDesativadaId=Edição não permitida! O serviço contem uma rota inativa com id
editarCatalogoDeRutaController.msg.linhaDesativada=Linha desativada, edição não permitida editarCatalogoDeRutaController.msg.linhaDesativada=Linha desativada, edição não permitida
editarCatalogoDeRutaController.msg.existeEsquemaCorridaVigente=Existe um serviço vigente para esta linha com id editarCatalogoDeRuta.MSG.rutaCancelada=Linha cancelada com sucesso!
editarCatalogoDeRutaController.msg.corridaGeradaVigente=Existem serviços disponíveis nessa linha com id editarCatalogoDeRutaController.msg.existeEsquemaCorridaVigente=Existe um serviço vigente para esta linha com número
editarCatalogoDeRutaController.msg.corridaGeradaVigentePt2= e data marcada para o dia editarCatalogoDeRutaController.msg.corridaGeradaVigente=Existem serviços disponíveis nessa linha de núnero
editarCatalogoDeRutaController.msg.corridaGeradaVigentePt2=no dia
editarCatalogoDeRutaController.msg.validacionCambionEnCombinaciones = Ao incluir ou remover uma localidade as combinações serão refeitas. É necessário revisar as combinações em caso de que exista alguna configuração específica para uma(s) de dela(s). Confirmar alteração? editarCatalogoDeRutaController.msg.validacionCambionEnCombinaciones = Ao incluir ou remover uma localidade as combinações serão refeitas. É necessário revisar as combinações em caso de que exista alguna configuração específica para uma(s) de dela(s). Confirmar alteração?
editarCatalogoDeRutaController.msg.cambioSecuencia = Não é possível alterar a origem Inicial ou destino Final para uma linha já existente editarCatalogoDeRutaController.msg.cambioSecuencia = Não é possível alterar a origem Inicial ou destino Final para uma linha já existente
editarCatalogoDeRutaController.msg.validacion.paradas = Deve informar as secuencias da linha editarCatalogoDeRutaController.msg.validacion.paradas = Deve informar as secuencias da linha