daniel.zauli 2015-12-01 16:34:45 +00:00
parent 9d28be64ce
commit 65c5a7f437
3 changed files with 80 additions and 0 deletions

View File

@ -20,6 +20,7 @@ import org.zkoss.zul.Messagebox;
import com.rjconsultores.ventaboletos.entidad.ConfRestricaoCanalVenta;
import com.rjconsultores.ventaboletos.entidad.ConfRestricaoExcecao;
import com.rjconsultores.ventaboletos.entidad.ConfRestricaoPtovta;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
@ -129,9 +130,13 @@ public class EditarConfRestricaoCanalVentaController extends MyGenericForwardCom
}
if (cmbOrigen.getSelectedItem() == null) {
confRestricaoCanalVenta.setOrigem(null);
}else{
confRestricaoCanalVenta.setOrigem((Parada)cmbOrigen.getSelectedItem().getValue());
}
if (cmbDestino.getSelectedItem() == null) {
confRestricaoCanalVenta.setDestino(null);
}else{
confRestricaoCanalVenta.setDestino((Parada)cmbDestino.getSelectedItem().getValue());
}
if (cmbTipoPtoVta.getSelectedItem() == null) {
confRestricaoCanalVenta.setTipoPuntoVenta(null);
@ -143,6 +148,10 @@ public class EditarConfRestricaoCanalVentaController extends MyGenericForwardCom
}
}
if(isBloqueoExistente(confRestricaoCanalVenta, confRestricaoCanalVentaList)){
throw new BusinessException("editarConfRestricaoCanalVentaController.MSG.bloqueoExistente");
}
confRestricaoCanalVentaService.suscribirActualizar(confRestricaoCanalVenta);
confRestricaoCanalVentaList.updateItem(confRestricaoCanalVenta);
@ -180,6 +189,75 @@ public class EditarConfRestricaoCanalVentaController extends MyGenericForwardCom
closeWindow();
}
}
private boolean isBloqueoExistente(ConfRestricaoCanalVenta c , MyListbox confRestricaoCanalVentaList){
List<ConfRestricaoCanalVenta> ls = new ArrayList<ConfRestricaoCanalVenta>() ;
for (int i = 0; i < confRestricaoCanalVentaList.getData().length; i++){
ConfRestricaoCanalVenta listElement = (ConfRestricaoCanalVenta)confRestricaoCanalVentaList.getData()[i];
if(isConfRestricaoCanalVentasEquivalentes(c , listElement)){
return true;
}
}
return false;
}
private boolean isConfRestricaoCanalVentasEquivalentes(ConfRestricaoCanalVenta a , ConfRestricaoCanalVenta b){
if(a.getRuta().equals(b.getRuta())
&& a.getTipoPuntoVenta().equals(b.getTipoPuntoVenta())
&& a.getCorridaId().equals(b.getCorridaId())
&& a.getOrigem().equals(b.getOrigem())
&& a.getDestino().equals(b.getDestino())
&& (((a.getFecCorrida() != null) != (b.getFecCorrida() != null)) ? false : true)
&& ((a.getFecCorrida() != null ) && (b.getFecCorrida() != null) ? true : false )
&& ((((a.getFecCorrida().compareTo(b.getFecCorrida())) == 0)) ? true : false )
&& isIntercessaoDiasSemana(a,b)
){
return true;
}
if(a.getRuta().equals(b.getRuta())
&& a.getTipoPuntoVenta().equals(b.getTipoPuntoVenta())
&& a.getCorridaId().equals(b.getCorridaId())
&& a.getOrigem().equals(b.getOrigem())
&& a.getDestino().equals(b.getDestino())
&& (a.getFecCorrida() == null) == (b.getFecCorrida() == null) == (true)
&& isIntercessaoDiasSemana(a,b)
){
return true;
}
return false;
}
private boolean isIntercessaoDiasSemana(ConfRestricaoCanalVenta a , ConfRestricaoCanalVenta b){
if( ((a.getDomingo() != null ? a.getDomingo() : false) && (b.getDomingo() != null ? b.getDomingo() : false ))
|| (a.getSegunda()!= null ? a.getSegunda() : false) && (b.getSegunda() != null ? b.getSegunda() : false)
|| (a.getTerca() != null ? a.getTerca() : false ) && (b.getTerca() != null ? b.getTerca() : false)
|| (a.getQuarta()!= null ? a.getQuarta() : false ) && (b.getQuarta() != null ? b.getQuarta() : false)
|| (a.getQuinta() != null ? a.getQuinta() : false) && (b.getQuinta() != null ? b.getQuinta() : false)
|| (a.getSexta() != null ? a.getSexta() : false) && (b.getSexta() != null ? b.getSexta() : false )
|| (a.getSabado() != null ? a.getSabado() : false ) && (b.getSabado() != null ? b.getSabado() : false) ){
return true;
}
if(null == a.getSegunda()
&& null == b.getSegunda()
&& null == a.getTerca()
&& null == b.getTerca()
&& null == a.getQuarta()
&& null == b.getQuarta()
&& null == a.getQuinta()
&& null == b.getQuinta()
&& null == a.getSexta()
&& null == b.getSexta()
&& null == a.getSabado()
&& null == b.getSabado()
&& null == a.getDomingo()
&& null == b.getDomingo()){
return true;
}
return false;
}
public void onClick$btnAddRestricaoPtovta(Event ev) throws InterruptedException {

View File

@ -4641,6 +4641,7 @@ editarConfRestricaoCanalVentaController.comb.Ptovta = Punto de Ventas
editarConfRestricaoCanalVentaController.MSG.restricaoPtovta = Informe lo punto de venta.
editarConfRestricaoCanalVentaController.MSG.restricaoPtovtaJaCadastrada=Punto de venta ya registrado.
editarConfRestricaoCanalVentaController.MSG.selecionarrestricaoPtovta = Seleccione uno punto de venta.
editarConfRestricaoCanalVentaController.MSG.bloqueoExistente = Bloqueo ya existente.
# Busqueda Orgao Concedente
busquedaOrgaoConcedenteController.window.title = Instituición concedente

View File

@ -4704,6 +4704,7 @@ editarConfRestricaoCanalVentaController.comb.Ptovta = Ponto de Venda
editarConfRestricaoCanalVentaController.MSG.restricaoPtovta = Informe o ponto de venda.
editarConfRestricaoCanalVentaController.MSG.restricaoPtovtaJaCadastrada=Ponto de venda já cadastrado.
editarConfRestricaoCanalVentaController.MSG.selecionarrestricaoPtovta = Selecione um ponto de venda.
editarConfRestricaoCanalVentaController.MSG.bloqueoExistente = Bloqueio já existente.
# Busqueda Orgao Concedente
busquedaOrgaoConcedenteController.window.title = Órgão Concedente