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.Map;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.math.NumberUtils;
import org.apache.log4j.Logger;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
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.TramoServicio;
import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.DivisionService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
@ -108,6 +115,8 @@ public class EditarCorridaController extends MyGenericForwardComposer {
private BusquedaCorridaController busquedaCorridaController;
@Autowired
private TramoServicioService tramoServicioService;
@Autowired
CorridaService corridaService;
private DivisionService divisionService;
private List<Division> lsDivision;
private List<Empresa> lsEmpresa;
@ -190,6 +199,10 @@ public class EditarCorridaController extends MyGenericForwardComposer {
popularCombobox(cmbIndGeneraFeriado);
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");
busquedaCorridaController = (BusquedaCorridaController) Executions.getCurrent().getArg().get("busquedaCorridaController");
@ -486,6 +499,10 @@ public class EditarCorridaController extends MyGenericForwardComposer {
if (chkDoblePiso.isChecked()) {
txtNumCorridaPisoExtra.getValue();
}
if(!validarPisoExtra()){
return;
}
try {
Comboitem ciRuta = cmbRuta.getSelectedItem();
@ -1727,7 +1744,68 @@ public class EditarCorridaController extends MyGenericForwardComposer {
public void onClick$dom(Event e) throws InterruptedException {
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) {
if (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.btnCopiar.tooltiptext=Generar Servicio igual a este
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
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.btnCopiar.tooltiptext=Gerar Serviço igual a este
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
editarConfiguracionCorridaAsientoController.window.title = Planejamento de poltronas