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.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.GrupoRuta;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
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.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
import com.rjconsultores.ventaboletos.service.GrupoRutaService;
@ -134,6 +137,9 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
private GrupoRutaService grupoRutaService;
@Autowired
private transient PagedListWrapper<RutaCombinacion> plwRutaCombinacion;
@Autowired
private CorridaService corridaService;
private Ruta ruta;
private MyListbox rutaList;
private MyListbox rutaSecuenciaList;
@ -175,6 +181,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
private MyTextbox txtNumRioCard;
private Window winEditarRuta;
private List<ParadaSecuencia> sequenciasInformadas;
private Button btnCancelarRetomar;
public Ruta getRuta() {
return ruta;
@ -283,8 +290,6 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
ruta = (Ruta) Executions.getCurrent().getArg().get("ruta");
rutaList = (MyListbox) Executions.getCurrent().getArg().get("rutaList");
super.doAfterCompose(comp);
// Secuencia
@ -292,46 +297,46 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
lsRutaSecuencia = new ArrayList<RutaSecuencia>();
sequenciasInformadas = new ArrayList<ParadaSecuencia>();
rutaSecuenciaList.addEventListener("onDoubleClick", new EventListener() {
rutaSecuenciaList.addEventListener("onDoubleClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
if(ruta.getRutaId() == null){
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.salvarRutaPrimeiro"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
ParadaSecuencia psOrigen = (ParadaSecuencia)rutaSecuenciaList.getSelected();
int indexSelecto = rutaSecuenciaList.getSelectedIndex();
ParadaSecuencia psDestino = new ParadaSecuencia();
try{
psDestino = (ParadaSecuencia)lsParadasSequencia.get(indexSelecto+1);
}catch(IndexOutOfBoundsException e){
@Override
public void onEvent(Event event) throws Exception {
if (ruta.getRutaId() == null) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.salvarRutaPrimeiro"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
ParadaSecuencia psOrigen = (ParadaSecuencia) rutaSecuenciaList.getSelected();
int indexSelecto = rutaSecuenciaList.getSelectedIndex();
ParadaSecuencia psDestino = new ParadaSecuencia();
try {
psDestino = (ParadaSecuencia) lsParadasSequencia.get(indexSelecto + 1);
} catch (IndexOutOfBoundsException e) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.finRuta"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.finRuta"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
if (psOrigen == null) { //lsRutaSecuencia <-- esse objeto ja tem o id da ruta secuencia ....
return;
}
Map args = new HashMap();
args.put("paradaSecuenciaOrigen", psOrigen);
args.put("paradaSecuenciaDestino", psDestino);
args.put("lsRutaSecuencia", lsRutaSecuencia);
if (psOrigen == null) { // lsRutaSecuencia <-- esse objeto ja tem o id da ruta secuencia ....
return;
}
Map args = new HashMap();
args.put("paradaSecuenciaOrigen", psOrigen);
args.put("paradaSecuenciaDestino", psDestino);
args.put("lsRutaSecuencia", lsRutaSecuencia);
args.put("lsParadasSequencia", lsParadasSequencia);
args.put("rutaSecuenciaList", rutaSecuenciaList);
args.put("casetasList", getCasetasPeage(psOrigen.getCasetas()));
openWindow("/gui/esquema_operacional/editarSecuencia.zul", Labels.getLabel("editarSecuenciaController.window.title"), args, MODAL);
}
});
args.put("lsParadasSequencia", lsParadasSequencia);
args.put("rutaSecuenciaList", rutaSecuenciaList);
args.put("casetasList", getCasetasPeage(psOrigen.getCasetas()));
openWindow("/gui/esquema_operacional/editarSecuencia.zul", Labels.getLabel("editarSecuenciaController.window.title"), args, MODAL);
}
});
txtNumRioCard.setDisabled(ruta.getIndVentaRioCard() == null || !ruta.getIndVentaRioCard());
chkIndVentaRioCard.addEventListener("onClick", new EventListener() {
txtNumRioCard.setDisabled(ruta.getIndVentaRioCard() == null || !ruta.getIndVentaRioCard());
chkIndVentaRioCard.addEventListener("onClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
@ -339,7 +344,6 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
});
// Combinacion
rutaCombinacionList.setItemRenderer(this);
lsRutaCombinacion = new ArrayList<RutaCombinacion>();
@ -387,12 +391,24 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
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) {
List<CasetaPeaje> casetasPeage = new ArrayList<CasetaPeaje>();
if(casetas == null || casetas.isEmpty()) {
if (casetas == null || casetas.isEmpty()) {
return casetasPeage;
}
@ -403,8 +419,43 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
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() {
if(chkIndVentaRioCard.isChecked()) {
if (chkIndVentaRioCard.isChecked()) {
txtNumRioCard.setDisabled(false);
txtNumRioCard.setConstraint("no empty");
} else {
@ -416,9 +467,8 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
private void paginarCombinacao() {
if (ruta.getRutaId() != null) {
HibernateSearchObject<RutaCombinacion> claseServicioBusqueda =
new HibernateSearchObject<RutaCombinacion>(RutaCombinacion.class,
pagingRutaCombinacion.getPageSize());
HibernateSearchObject<RutaCombinacion> claseServicioBusqueda = new HibernateSearchObject<RutaCombinacion>(RutaCombinacion.class,
pagingRutaCombinacion.getPageSize());
claseServicioBusqueda.addFilterEqual("activo", Boolean.TRUE);
claseServicioBusqueda.addFilterEqual("ruta", ruta);
@ -434,6 +484,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
paradaSecuencia.setVia(via);
lsParadasSequencia.add(paradaSecuencia);
}
private void addTramoPardaSecuencia(Parada parada, Via via, Short numsecuencia, List<RutaCaseta> lCas, String tempo, String km) {
ParadaSecuencia paradaSecuencia = new ParadaSecuencia();
paradaSecuencia.setParada(parada);
@ -517,7 +568,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
ParadaSecuencia paradaSecuencia = new ParadaSecuencia();
paradaSecuencia.setParada(parada);
paradaSecuencia.setSecuencia(numSecuencia.getValue().shortValue());
paradaSecuencia.setVia((Via)cmbVia.getSelectedItem().getValue());
paradaSecuencia.setVia((Via) cmbVia.getSelectedItem().getValue());
sequenciasInformadas.add(paradaSecuencia);
@ -753,17 +804,25 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
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();
txtNumRioCard.getValue();
if(null != txtCantEixos && txtCantEixos.getValue()!= null && txtCantEixos.getValue() == 0){
if (null != txtCantEixos && txtCantEixos.getValue() != null && txtCantEixos.getValue() == 0) {
Messagebox.show(
Labels.getLabel("editarCatalogoDeRutaController.lblCantEixosZeroInvalido.value"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
if(null != txtCantAsientos && txtCantAsientos.getValue() != null && txtCantAsientos.getValue() == 0){
if (null != txtCantAsientos && txtCantAsientos.getValue() != null && txtCantAsientos.getValue() == 0) {
Messagebox.show(
Labels.getLabel("editarCatalogoDeRutaController.lblCantAsientosZeroInvalido.value"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
@ -840,7 +899,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
Messagebox.show(Labels.getLabel(
"editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: "
+ ruta.getRutaId().toString()),
+ ruta.getRutaId().toString()),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK,
Messagebox.INFORMATION);
@ -921,7 +980,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
op.add("Não");
comboVenda.setModel(new ListModelList(op));
comboVenda.setValue(rutaCombinacion.getIndventa() == Boolean.TRUE ? "Sim" : "Não");
if(rutaCombinacion.getRutacombinacionId() != null){
if (rutaCombinacion.getRutacombinacionId() != null) {
comboVenda.setTooltip(rutaCombinacion.getRutacombinacionId().toString());
}
comboVenda.addEventListener("onChange", new EventListener() {
@ -936,11 +995,10 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
lc.appendChild(comboVenda);
lc.setParent(lstm);
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 = new Listcell();
@ -948,8 +1006,8 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
final Combobox comboVia = new Combobox();
comboVia.setMold("rounded");
comboVia.setWidth("90%");
if(rutaCombinacion.getRutacombinacionId() != null){
comboVia.setTooltip(rutaCombinacion.getRutacombinacionId().toString());
if (rutaCombinacion.getRutacombinacionId() != null) {
comboVia.setTooltip(rutaCombinacion.getRutacombinacionId().toString());
}
List<Via> lsViaCombinacion = tramoService.obtenerViasOrigemDestino(
rutaCombinacion.getTramo().getOrigem(), rutaCombinacion.getTramo().getDestino());
@ -1058,7 +1116,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
List<RutaCombinacion> rutaCombinacions = new ArrayList<RutaCombinacion>();
for (RutaCombinacion rc : rutaCombinacionsAntiga){
for (RutaCombinacion rc : rutaCombinacionsAntiga) {
RutaCombinacion newrc = (RutaCombinacion) rc.clone();
newrc.setRuta(ruta);
newrc.setRutacombinacionId(null);
@ -1108,10 +1166,10 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
}
private void gerarCombinacaoTramoRuta(Ruta ruta, List<ParadaSecuencia> sequencias) {
List<ParadaSecuenciaCombinacaoLinha> sequenciasAGerar = rutaService.verificarSeqRutaNaoGerada(ruta, sequencias);
private void gerarCombinacaoTramoRuta(Ruta ruta, List<ParadaSecuencia> sequencias) {
List<ParadaSecuenciaCombinacaoLinha> sequenciasAGerar = rutaService.verificarSeqRutaNaoGerada(ruta, sequencias);
if (sequenciasAGerar != null){
if (sequenciasAGerar != null) {
Map<String, Object> params = new LinkedHashMap<String, Object>();
@ -1134,7 +1192,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
params.put("lsSequencias", sequencias);
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.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.existeEsquemaCorridaVigente=Existe um serviço vigente para esta linha com id
editarCatalogoDeRutaController.msg.corridaGeradaVigente=Existem serviços disponíveis nessa linha com id
editarCatalogoDeRutaController.msg.corridaGeradaVigentePt2= e data marcada para o dia
editarCatalogoDeRuta.MSG.rutaCancelada=Linha cancelada com sucesso!
editarCatalogoDeRutaController.msg.existeEsquemaCorridaVigente=Existe um serviço vigente para esta linha com número
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.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