fixed bug #7268 - Configurações de Serviços: validações adicionadas ao associar um segundo piso (mesma empresa, orgão concedente e localidades)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@54191 d1611594-4594-4d17-8e1d-87c2c4800839
master
frederico 2016-03-23 20:33:50 +00:00
parent 700ad9ac27
commit 6c2e5b4c8c
3 changed files with 88 additions and 0 deletions

View File

@ -13,12 +13,18 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.math.NumberUtils; import org.apache.commons.lang.math.NumberUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.zkoss.util.resource.Labels; import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox; import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
@ -56,6 +62,7 @@ import com.rjconsultores.ventaboletos.entidad.RutaSecuencia;
import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.TramoServicio; import com.rjconsultores.ventaboletos.entidad.TramoServicio;
import com.rjconsultores.ventaboletos.service.ClaseServicioService; import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.DivisionService; import com.rjconsultores.ventaboletos.service.DivisionService;
import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService; import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
@ -108,6 +115,8 @@ public class EditarCorridaController extends MyGenericForwardComposer {
private BusquedaCorridaController busquedaCorridaController; private BusquedaCorridaController busquedaCorridaController;
@Autowired @Autowired
private TramoServicioService tramoServicioService; private TramoServicioService tramoServicioService;
@Autowired
CorridaService corridaService;
private DivisionService divisionService; private DivisionService divisionService;
private List<Division> lsDivision; private List<Division> lsDivision;
private List<Empresa> lsEmpresa; private List<Empresa> lsEmpresa;
@ -190,6 +199,10 @@ public class EditarCorridaController extends MyGenericForwardComposer {
popularCombobox(cmbIndGeneraFeriado); popularCombobox(cmbIndGeneraFeriado);
esquemaCorrida = (EsquemaCorrida) Executions.getCurrent().getArg().get("esquemaCorrida"); esquemaCorrida = (EsquemaCorrida) Executions.getCurrent().getArg().get("esquemaCorrida");
if(esquemaCorrida.getEsquemacorridaId() != null){
esquemaCorrida = esquemaCorridaService.obtenerID(esquemaCorrida.getEsquemacorridaId());
esquemaCorrida.getEsquemaTramoList();
}
esquemaCorridaList = (MyListbox) Executions.getCurrent().getArg().get("esquemaCorridaList"); esquemaCorridaList = (MyListbox) Executions.getCurrent().getArg().get("esquemaCorridaList");
busquedaCorridaController = (BusquedaCorridaController) Executions.getCurrent().getArg().get("busquedaCorridaController"); busquedaCorridaController = (BusquedaCorridaController) Executions.getCurrent().getArg().get("busquedaCorridaController");
@ -487,6 +500,10 @@ public class EditarCorridaController extends MyGenericForwardComposer {
txtNumCorridaPisoExtra.getValue(); txtNumCorridaPisoExtra.getValue();
} }
if(!validarPisoExtra()){
return;
}
try { try {
Comboitem ciRuta = cmbRuta.getSelectedItem(); Comboitem ciRuta = cmbRuta.getSelectedItem();
Ruta ruta = null; Ruta ruta = null;
@ -1728,6 +1745,67 @@ public class EditarCorridaController extends MyGenericForwardComposer {
habilitarDiaSimDiaNao(lun.isChecked(), mar.isChecked(), mie.isChecked(), jue.isChecked(), vie.isChecked(), sab.isChecked(), dom.isChecked()); habilitarDiaSimDiaNao(lun.isChecked(), mar.isChecked(), mie.isChecked(), jue.isChecked(), vie.isChecked(), sab.isChecked(), dom.isChecked());
} }
private Boolean validarPisoExtra() throws InterruptedException{
EsquemaCorrida esquemaCorrida = esquemaCorridaService.obtenerByEsquemaCorrida(txtNumCorridaPisoExtra.getValue());
if(esquemaCorrida == null){
Messagebox.show(Labels.getLabel("MSG.Error"),
Labels.getLabel("editarConfiguracionCorridaController.MSG.servicoPisoExtraExistente"),
Messagebox.OK, Messagebox.ERROR);
return false;
}
if(esquemaCorrida.getPisoExtra() != null && esquemaCorrida.getPisoExtra()){
Messagebox.show(Labels.getLabel("MSG.Error"),
Labels.getLabel("editarConfiguracionCorridaController.MSG.servicoPisoExtraJaEPisoExtra"),
Messagebox.OK, Messagebox.ERROR);
return false;
}
if(!esquemaCorrida.getMarca().equals(this.esquemaCorrida.getMarca())){
Messagebox.show(Labels.getLabel("MSG.Error"),
Labels.getLabel("editarConfiguracionCorridaController.MSG.servicoPisoExtraEmpresaDiferente"),
Messagebox.OK, Messagebox.ERROR);
return false;
}
if(!esquemaCorrida.getRuta().getOrgaoConcedente().equals(this.esquemaCorrida.getRuta().getOrgaoConcedente())){
Messagebox.show(Labels.getLabel("MSG.Error"),
Labels.getLabel("editarConfiguracionCorridaController.MSG.servicoPisoExtraOrgaoDiferente"),
Messagebox.OK, Messagebox.ERROR);
return false;
}
if(validarEsquemaTramo(esquemaCorrida)){
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.servicoPisoExtraLocalidadeDiferente"),
Labels.getLabel("MSG.Error"),
Messagebox.OK, Messagebox.ERROR);
return false;
}
return true;
}
public void onChange$txtNumCorridaPisoExtra() throws InterruptedException{
validarPisoExtra();
}
private boolean validarEsquemaTramo(EsquemaCorrida esquemaCorrida) {
if (this.esquemaCorrida.getEsquemaTramoList().size() != esquemaCorrida.getEsquemaTramoList().size()) {
return true;
}
for(int i = 0; i < this.esquemaCorrida.getEsquemaTramoList().size(); i++){
if(!this.esquemaCorrida.getEsquemaTramoList().get(i).getTramo()
.equals(esquemaCorrida.getEsquemaTramoList().get(i).getTramo())){
return true;
}
}
return false;
}
private void habilitaDiasDaSemana(Boolean isChecked) { private void habilitaDiasDaSemana(Boolean isChecked) {
if (isChecked) { if (isChecked) {
lun.setChecked(!isChecked); lun.setChecked(!isChecked);

View File

@ -1975,6 +1975,11 @@ editarConfiguracionCorridaController.MSG.NumAgrupacion = Ya existe un tren con e
editarConfiguracionCorridaController.MSG.AgrupacionCorrida = Ya existe un vagon con ese número. editarConfiguracionCorridaController.MSG.AgrupacionCorrida = Ya existe un vagon con ese número.
editarConfiguracionCorridaController.btnCopiar.tooltiptext=Generar Servicio igual a este editarConfiguracionCorridaController.btnCopiar.tooltiptext=Generar Servicio igual a este
editarConfiguracionCorridaController.lbDiaSimDiaNao = Dia sim dia não editarConfiguracionCorridaController.lbDiaSimDiaNao = Dia sim dia não
editarConfiguracionCorridaController.MSG.servicoPisoExtraExistente = Serviço para piso extra não existente.
editarConfiguracionCorridaController.MSG.servicoPisoExtraJaEPisoExtra = Serviço para piso extra já é um piso extra.
editarConfiguracionCorridaController.MSG.servicoPisoExtraEmpresaDiferente = Serviço para piso extra não é da mesma empresa do que o serviço corrente.
editarConfiguracionCorridaController.MSG.servicoPisoExtraOrgaoDiferente = Serviço para piso extra não possui o mesmo orgão concedente do que o serviço corrente.
editarConfiguracionCorridaController.MSG.servicoPisoExtraLocalidadeDiferente = Servico para piso extra não possui as mesmas localidades do que o serviço corrente.
#Planeacion de Poltrona Controller #Planeacion de Poltrona Controller
editarConfiguracionCorridaAsientoController.window.title = Planificación de asientos editarConfiguracionCorridaAsientoController.window.title = Planificación de asientos

View File

@ -2019,6 +2019,11 @@ editarConfiguracionCorridaController.MSG.NumAgrupacion = Já existe este número
editarConfiguracionCorridaController.MSG.AgrupacionCorrida = Já existe este número de serviço cadastrado para outro Trem. editarConfiguracionCorridaController.MSG.AgrupacionCorrida = Já existe este número de serviço cadastrado para outro Trem.
editarConfiguracionCorridaController.btnCopiar.tooltiptext=Gerar Serviço igual a este editarConfiguracionCorridaController.btnCopiar.tooltiptext=Gerar Serviço igual a este
editarConfiguracionCorridaController.lbDiaSimDiaNao = Dia sim dia não editarConfiguracionCorridaController.lbDiaSimDiaNao = Dia sim dia não
editarConfiguracionCorridaController.MSG.servicoPisoExtraExistente = Serviço para piso extra não existente.
editarConfiguracionCorridaController.MSG.servicoPisoExtraJaEPisoExtra = Serviço para piso extra já é um piso extra.
editarConfiguracionCorridaController.MSG.servicoPisoExtraEmpresaDiferente = Serviço para piso extra não é da mesma empresa do que o serviço corrente.
editarConfiguracionCorridaController.MSG.servicoPisoExtraOrgaoDiferente = Serviço para piso extra não possui o mesmo orgão concedente do que o serviço corrente.
editarConfiguracionCorridaController.MSG.servicoPisoExtraLocalidadeDiferente = Servico para piso extra não possui as mesmas localidades do que o serviço corrente.
#Planeacion de Poltrona Controller #Planeacion de Poltrona Controller
editarConfiguracionCorridaAsientoController.window.title = Planejamento de poltronas editarConfiguracionCorridaAsientoController.window.title = Planejamento de poltronas