FIXES BUG #06876
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@51044 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
b834202afb
commit
9ad180f7af
|
@ -1,5 +1,6 @@
|
||||||
package com.rjconsultores.ventaboletos.service.impl;
|
package com.rjconsultores.ventaboletos.service.impl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -19,6 +20,8 @@ public class ConfRestricaoCanalVentaServiceImpl implements ConfRestricaoCanalVen
|
||||||
@Autowired
|
@Autowired
|
||||||
private ConfRestricaoCanalVentaDAO confRestricaoCanalVentaDAO;
|
private ConfRestricaoCanalVentaDAO confRestricaoCanalVentaDAO;
|
||||||
|
|
||||||
|
private List<ConfRestricaoCanalVenta> lsConfRestricaoCanalVenta;
|
||||||
|
|
||||||
public List<ConfRestricaoCanalVenta> obtenerTodos() {
|
public List<ConfRestricaoCanalVenta> obtenerTodos() {
|
||||||
return confRestricaoCanalVentaDAO.obtenerTodos();
|
return confRestricaoCanalVentaDAO.obtenerTodos();
|
||||||
}
|
}
|
||||||
|
@ -48,6 +51,12 @@ public class ConfRestricaoCanalVentaServiceImpl implements ConfRestricaoCanalVen
|
||||||
throw new BusinessException("confRestricaoCanalVentaService.MSG.oriDestObliga");
|
throw new BusinessException("confRestricaoCanalVentaService.MSG.oriDestObliga");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lsConfRestricaoCanalVenta = obtenerTodos();
|
||||||
|
|
||||||
|
if(isBloqueoExistente(entidad, lsConfRestricaoCanalVenta)){
|
||||||
|
throw new BusinessException("editarConfRestricaoCanalVentaController.MSG.bloqueoExistente");
|
||||||
|
}
|
||||||
|
|
||||||
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
entidad.setFecmodif(Calendar.getInstance().getTime());
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
entidad.setActivo(Boolean.TRUE);
|
entidad.setActivo(Boolean.TRUE);
|
||||||
|
@ -67,4 +76,164 @@ public class ConfRestricaoCanalVentaServiceImpl implements ConfRestricaoCanalVen
|
||||||
confRestricaoCanalVentaDAO.actualizacion(entidad);
|
confRestricaoCanalVentaDAO.actualizacion(entidad);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isBloqueoExistente(ConfRestricaoCanalVenta c , List<ConfRestricaoCanalVenta> confRestricaoCanalVentaList){
|
||||||
|
|
||||||
|
List<ConfRestricaoCanalVenta> ls = new ArrayList<ConfRestricaoCanalVenta>() ;
|
||||||
|
|
||||||
|
for (int i = 0; i < confRestricaoCanalVentaList.size(); i++){
|
||||||
|
ConfRestricaoCanalVenta elementList = (ConfRestricaoCanalVenta)confRestricaoCanalVentaList.get(i);
|
||||||
|
if(c.getConfRestricaoCanalVentaId() == null){
|
||||||
|
if(isConfRestricaoCanalVentasEquivalentes(c , elementList)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(!c.getConfRestricaoCanalVentaId().equals(elementList.getConfRestricaoCanalVentaId())){
|
||||||
|
isConfRestricaoCanalVentasEquivalentes(c , elementList);
|
||||||
|
}else{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isConfRestricaoCanalVentasEquivalentes(ConfRestricaoCanalVenta a , ConfRestricaoCanalVenta b){
|
||||||
|
if(isRutasTipoPvCorridaIdOrigemDestinoEquivalentes(a,b)
|
||||||
|
&& (((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;
|
||||||
|
}else if(isRutasTipoPvCorridaIdOrigemDestinoEquivalentes(a,b)
|
||||||
|
&& (a.getFecCorrida() == null) == (b.getFecCorrida() == null) == (true)
|
||||||
|
&& isIntercessaoDiasSemana(a,b)
|
||||||
|
){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isRutasTipoPvCorridaIdOrigemDestinoEquivalentes(ConfRestricaoCanalVenta a , ConfRestricaoCanalVenta b){
|
||||||
|
if(isRutasEquivalentes(a,b)
|
||||||
|
&& isTipoPVEquivalentes(a,b)
|
||||||
|
&& isCorridaIdEquivalentes(a,b)
|
||||||
|
&& isOrigemEquivalentes(a,b)
|
||||||
|
&& isDestinoEquivalentes(a,b)){
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isRutasEquivalentes(ConfRestricaoCanalVenta a , ConfRestricaoCanalVenta b){
|
||||||
|
if(a.getRuta() == null && b.getRuta() == null ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(a.getRuta() == null && b.getRuta() != null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getRuta() != null && b.getRuta() == null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getRuta() != null && b.getRuta() != null ){
|
||||||
|
return a.getRuta().equals(b.getRuta());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isTipoPVEquivalentes(ConfRestricaoCanalVenta a , ConfRestricaoCanalVenta b){
|
||||||
|
if(a.getTipoPuntoVenta() == null && b.getTipoPuntoVenta() == null ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(a.getTipoPuntoVenta() == null && b.getTipoPuntoVenta() != null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getTipoPuntoVenta() != null && b.getTipoPuntoVenta() == null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getTipoPuntoVenta() != null && b.getTipoPuntoVenta() != null ){
|
||||||
|
return a.getTipoPuntoVenta().equals(b.getTipoPuntoVenta());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isCorridaIdEquivalentes(ConfRestricaoCanalVenta a , ConfRestricaoCanalVenta b){
|
||||||
|
if(a.getCorridaId() == null && b.getCorridaId() == null ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(a.getCorridaId() == null && b.getCorridaId() != null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getCorridaId() != null && b.getCorridaId() == null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getCorridaId() != null && b.getCorridaId() != null ){
|
||||||
|
return a.getCorridaId().equals(b.getCorridaId());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isOrigemEquivalentes(ConfRestricaoCanalVenta a , ConfRestricaoCanalVenta b){
|
||||||
|
if(a.getOrigem() == null && b.getOrigem() == null ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(a.getOrigem() == null && b.getOrigem() != null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getOrigem() != null && b.getOrigem() == null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getOrigem() != null && b.getOrigem() != null ){
|
||||||
|
return a.getOrigem().equals(b.getOrigem());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isDestinoEquivalentes(ConfRestricaoCanalVenta a , ConfRestricaoCanalVenta b){
|
||||||
|
if(a.getDestino() == null && b.getDestino() == null ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(a.getDestino() == null && b.getDestino() != null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getDestino() != null && b.getDestino() == null ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(a.getDestino() != null && b.getDestino() != null ){
|
||||||
|
return a.getDestino().equals(b.getDestino());
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue