fixed bug #6185 - Correção em geração de assentos exclusivos onde havia cadeiras bloqueadas para venda no diagrama autobus.

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@43802 d1611594-4594-4d17-8e1d-87c2c4800839
master
thiago 2015-05-07 14:42:27 +00:00
parent 34fd2fdb1f
commit 601723c50f
5 changed files with 49 additions and 20 deletions

View File

@ -25,4 +25,6 @@ public interface DetDiagramaAutobusDAO {
public void borrar(DetDiagramaAutobus entidad); public void borrar(DetDiagramaAutobus entidad);
public Long count(String campo, Object o); public Long count(String campo, Object o);
public DetDiagramaAutobus obtenerPorDiagramaAutobusAsiento(Integer diagramaAutobusId, String numAsiento);
} }

View File

@ -35,4 +35,14 @@ public class DetDiagramaAutobusHibernateDAO extends GenericHibernateDAO<DetDiagr
return c.list(); return c.list();
} }
@Override
public DetDiagramaAutobus obtenerPorDiagramaAutobusAsiento(Integer diagramaAutobusId, String numAsiento) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("diagramaAutobus.diagramaautobusId", Short.valueOf(diagramaAutobusId.toString())));
c.add(Restrictions.eq("asiento", numAsiento));
return (DetDiagramaAutobus) c.uniqueResult();
}
} }

View File

@ -23,4 +23,6 @@ public interface DetDiagramaAutobusService {
public DetDiagramaAutobus actualizacion(DetDiagramaAutobus entidad); public DetDiagramaAutobus actualizacion(DetDiagramaAutobus entidad);
public void borrar(DetDiagramaAutobus entidad); public void borrar(DetDiagramaAutobus entidad);
DetDiagramaAutobus obtenerPorDiagramaAutobusAsiento(Integer diagramaAutobusId, String numAsiento);
} }

View File

@ -33,6 +33,7 @@ import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.entidad.Corrida; import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl;
import com.rjconsultores.ventaboletos.entidad.CorridaTramo; import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
import com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus;
import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus; import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EsquemaAsiento; import com.rjconsultores.ventaboletos.entidad.EsquemaAsiento;
@ -51,6 +52,8 @@ import com.rjconsultores.ventaboletos.service.AsientoExclusivoService;
import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.ConstanteService;
import com.rjconsultores.ventaboletos.service.CorridaCtrlService; import com.rjconsultores.ventaboletos.service.CorridaCtrlService;
import com.rjconsultores.ventaboletos.service.CorridaService; import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.DetDiagramaAutobusService;
import com.rjconsultores.ventaboletos.service.DiagramaAutobusService;
import com.rjconsultores.ventaboletos.service.EsquemaAsientoService; import com.rjconsultores.ventaboletos.service.EsquemaAsientoService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService; import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
import com.rjconsultores.ventaboletos.service.EsquemaTramoService; import com.rjconsultores.ventaboletos.service.EsquemaTramoService;
@ -91,6 +94,8 @@ public class CorridaServiceImpl implements CorridaService {
@Autowired @Autowired
private EsquemaCorridaDAO esquemaCorridaDAO; private EsquemaCorridaDAO esquemaCorridaDAO;
@Autowired @Autowired
private DetDiagramaAutobusService detDiagramaAutobusService;
@Autowired
private ConstanteService constanteService; private ConstanteService constanteService;
@Autowired @Autowired
private RutaSecuenciaService rutaSecuenciaService; private RutaSecuenciaService rutaSecuenciaService;
@ -638,28 +643,31 @@ public class CorridaServiceImpl implements CorridaService {
List<EsquemaAsiento> lsEsquemaAsiento = esquemaAsientoService.obtenerPorCorrida(esquemaCorrida); List<EsquemaAsiento> lsEsquemaAsiento = esquemaAsientoService.obtenerPorCorrida(esquemaCorrida);
for (EsquemaAsiento ea : lsEsquemaAsiento) { for (EsquemaAsiento ea : lsEsquemaAsiento) {
AsientoExclusivo asientoExclusivo = new AsientoExclusivo(); DetDiagramaAutobus detDiagramaAutobus = detDiagramaAutobusService.obtenerPorDiagramaAutobusAsiento(esquemaCorrida.getDiagramaAutobusId(),ea.getNumasiento());
asientoExclusivo.setCorrida(corrida); if(detDiagramaAutobus.getVendible()){
asientoExclusivo.setMotivobloqueo(null); AsientoExclusivo asientoExclusivo = new AsientoExclusivo();
asientoExclusivo.setNodo(corrida.getNodo()); asientoExclusivo.setCorrida(corrida);
asientoExclusivo.setNumasiento(ea.getNumasiento());
asientoExclusivo.setVendible(ea.getIndvendible());
asientoExclusivo.setParada(ea.getParada());
asientoExclusivo.setTiempoLiberacion(ea.getTiempoLiberacion());
if (ea.getIndvendible()) {
asientoExclusivo.setMotivobloqueo(null); asientoExclusivo.setMotivobloqueo(null);
} else { asientoExclusivo.setNodo(corrida.getNodo());
asientoExclusivo.setMotivobloqueo(ea.getMotivobloqueo()); asientoExclusivo.setNumasiento(ea.getNumasiento());
asientoExclusivo.setDestino(ea.getDestino()); asientoExclusivo.setVendible(ea.getIndvendible());
asientoExclusivo.setParada(ea.getParada());
asientoExclusivo.setTiempoLiberacion(ea.getTiempoLiberacion());
if (ea.getIndvendible()) {
asientoExclusivo.setMotivobloqueo(null);
} else {
asientoExclusivo.setMotivobloqueo(ea.getMotivobloqueo());
asientoExclusivo.setDestino(ea.getDestino());
}
asientoExclusivo.setActivo(Boolean.TRUE);
asientoExclusivo.setFecmodif(Calendar.getInstance().getTime());
if (UsuarioLogado.getUsuarioLogado() != null) {
asientoExclusivo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
}
asientoExclusivo = asientoExclusivoService.suscribir(asientoExclusivo);
} }
asientoExclusivo.setActivo(Boolean.TRUE);
asientoExclusivo.setFecmodif(Calendar.getInstance().getTime());
if (UsuarioLogado.getUsuarioLogado() != null) {
asientoExclusivo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
}
asientoExclusivo = asientoExclusivoService.suscribir(asientoExclusivo);
} }
} catch (org.springframework.dao.DataIntegrityViolationException ex) { } catch (org.springframework.dao.DataIntegrityViolationException ex) {

View File

@ -8,8 +8,10 @@ import com.rjconsultores.ventaboletos.dao.DetDiagramaAutobusDAO;
import com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus; import com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus;
import com.rjconsultores.ventaboletos.service.DetDiagramaAutobusService; import com.rjconsultores.ventaboletos.service.DetDiagramaAutobusService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -58,4 +60,9 @@ public class DetDiagramaAutobusServiceImpl implements DetDiagramaAutobusService
detDiagramaAtuobusDAO.actualizacion(entidad); detDiagramaAtuobusDAO.actualizacion(entidad);
} }
@Override
public DetDiagramaAutobus obtenerPorDiagramaAutobusAsiento(Integer diagramaAutobusId, String numAsiento) {
return detDiagramaAtuobusDAO.obtenerPorDiagramaAutobusAsiento(diagramaAutobusId,numAsiento);
}
} }