fixed bug #8103 - Inclusão de funcionalidade para copiar horário de serviços que estão corretos.
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@61562 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
a36d53b8bc
commit
3eb7247b42
|
@ -39,6 +39,8 @@ public interface CorridaDAO extends GenericDAO<Corrida, Corrida.Id> {
|
|||
|
||||
public List<Corrida> buscarPorFecCorrida(Date value);
|
||||
|
||||
public Corrida buscarPorId(Id id);
|
||||
|
||||
public Long count(Ruta ruta);
|
||||
|
||||
public List<Corrida> verificarCorridaId(Integer corridaId);
|
||||
|
@ -83,6 +85,8 @@ public interface CorridaDAO extends GenericDAO<Corrida, Corrida.Id> {
|
|||
|
||||
public void actualizaFecHusoFecVerano(List<Corrida> corridas);
|
||||
|
||||
Boolean editarCorridaPorOutraCorrida(List<Corrida> corridas, Corrida corrida);
|
||||
|
||||
public List<Corrida> buscarPorEstado(Estado estado, Date dataInicial);
|
||||
|
||||
List<Corrida> buscarPorEstado(Estado estado, Date dataInicial, Integer corridaId);
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.dao;
|
|||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
||||
import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
|
||||
|
||||
public interface CorridaTramoDAO extends GenericDAO<CorridaTramo, Integer> {
|
||||
|
@ -11,6 +12,8 @@ public interface CorridaTramoDAO extends GenericDAO<CorridaTramo, Integer> {
|
|||
|
||||
public List<CorridaTramo> buscarTarjetaMesmaCorrida(CorridaTramo ct);
|
||||
|
||||
List<CorridaTramo> buscarCorridaTramoPorCorrida(Corrida corrida);
|
||||
|
||||
public BigDecimal buscarSumTarjetaMesmaCorrida(CorridaTramo ct);
|
||||
|
||||
}
|
||||
|
|
|
@ -24,10 +24,12 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.rjconsultores.ventaboletos.dao.CorridaDAO;
|
||||
import com.rjconsultores.ventaboletos.dao.CorridaTramoDAO;
|
||||
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
|
||||
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
|
||||
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
||||
import com.rjconsultores.ventaboletos.entidad.Corrida.Id;
|
||||
import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
|
||||
import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus;
|
||||
import com.rjconsultores.ventaboletos.entidad.Estado;
|
||||
import com.rjconsultores.ventaboletos.entidad.Marca;
|
||||
|
@ -49,6 +51,8 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
|
|||
private static final Integer ULTIMA_HORA_DIA = Integer.valueOf(23);
|
||||
private static final Integer ULTIMO_MINUTO_SEGUNDO = Integer.valueOf(59);
|
||||
private static final Integer ULTIMO_MILLISEGUNDO = Integer.valueOf(99);
|
||||
@Autowired
|
||||
private CorridaTramoDAO corridaTramoDao;
|
||||
|
||||
@Autowired
|
||||
public CorridaHibernateDAO(@Qualifier("sessionFactory") final SessionFactory factory) {
|
||||
|
@ -702,4 +706,49 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean editarCorridaPorOutraCorrida(List<Corrida> corridas, Corrida corridaPadrao) {
|
||||
List<CorridaTramo> tramosPadrao = corridaTramoDao.buscarCorridaTramoPorCorrida(corridaPadrao);
|
||||
|
||||
for (Corrida corrida : corridas) {
|
||||
List<CorridaTramo> tramos = corridaTramoDao.buscarCorridaTramoPorCorrida(corrida);
|
||||
|
||||
for (CorridaTramo tramo : tramos) {
|
||||
for (CorridaTramo tramoPadrao : tramosPadrao) {
|
||||
if(tramoPadrao.getNumsecuencia().equals(tramo.getNumsecuencia())){
|
||||
tramo.setFechorsalida(mudarData(tramoPadrao.getFechorsalida(), tramo.getFechorsalida()));
|
||||
tramo.setFechorsalidaH(mudarData(tramoPadrao.getFechorsalidaH(), tramo.getFechorsalidaH()));
|
||||
tramo.setFechorSalidaOriginal(mudarData(tramoPadrao.getFechorSalidaOriginal(), tramo.getFechorSalidaOriginal()));
|
||||
tramo.setFechorllegada(mudarData(tramoPadrao.getFechorllegada(), tramo.getFechorllegada()));
|
||||
tramo.setFechorllegadaH(mudarData(tramoPadrao.getFechorllegadaH(), tramo.getFechorllegadaH()));
|
||||
corridaTramoDao.actualizacion(tramo);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private Date mudarData(Date dataPadrao,Date dataMudanca){
|
||||
Calendar calPadrao = Calendar.getInstance();
|
||||
calPadrao.setTime(dataPadrao);
|
||||
Calendar calMudanca = Calendar.getInstance();
|
||||
calMudanca.setTime(dataMudanca);
|
||||
|
||||
calMudanca.set(calMudanca.get(Calendar.YEAR), calMudanca.get(Calendar.MONTH), calMudanca.get(Calendar.DAY_OF_MONTH),
|
||||
calPadrao.get(Calendar.HOUR_OF_DAY), calPadrao.get(Calendar.MINUTE), calPadrao.get(Calendar.SECOND));
|
||||
return calMudanca.getTime();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Corrida buscarPorId(Id id) {
|
||||
Criteria c = makeCriteria();
|
||||
c.add(Restrictions.eq("id", id));
|
||||
return (Corrida) c.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.rjconsultores.ventaboletos.dao.hibernate;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -10,13 +12,10 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.rjconsultores.ventaboletos.dao.CorridaTramoDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
||||
import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
|
||||
import com.rjconsultores.ventaboletos.entidad.RutaCombinacion;
|
||||
import com.rjconsultores.ventaboletos.utilerias.ActivoUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import org.hibernate.Query;
|
||||
|
||||
@Repository("corridaTramoDAO")
|
||||
public class CorridaTramoHibernateDAO extends GenericHibernateDAO<CorridaTramo, Integer> implements CorridaTramoDAO {
|
||||
|
||||
|
@ -45,6 +44,14 @@ public class CorridaTramoHibernateDAO extends GenericHibernateDAO<CorridaTramo,
|
|||
return c.list();
|
||||
}
|
||||
|
||||
public List<CorridaTramo> buscarCorridaTramoPorCorrida(Corrida corrida) {
|
||||
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||
c.add(Restrictions.eq("activo", ActivoUtil.ATIVO));
|
||||
c.add(Restrictions.eq("corrida", corrida));
|
||||
|
||||
return c.list();
|
||||
}
|
||||
|
||||
public BigDecimal buscarSumTarjetaMesmaCorrida(CorridaTramo ct) {
|
||||
|
||||
String hql = " select sum(t.kmReal) from CorridaTramo ct, Tramo t "
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
package com.rjconsultores.ventaboletos.service;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -73,6 +72,8 @@ public interface CorridaService extends GenericService<Corrida, Corrida.Id> {
|
|||
|
||||
Boolean atualizarCorridaFecHusoFecVerano(Estado estado, Date dataInicial, Integer corridaId);
|
||||
|
||||
Boolean editarCorridaPorOutraCorrida(Estado estado, Date dataInicial, Integer corridaId, Date dataPadrao);
|
||||
|
||||
public List<Corrida> buscarCorridaRelatorio(Connection conexao, Parada origem, Parada destino, Date feccorrida, Integer corridaId);
|
||||
|
||||
public Corrida buscaCorrridaFutura(Ruta ruta, Date fecInicio);
|
||||
|
|
|
@ -1389,4 +1389,17 @@ public class CorridaServiceImpl implements CorridaService {
|
|||
return corridaDAO.buscaCorrridaFutura(ruta, fecInicio);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Boolean editarCorridaPorOutraCorrida(Estado estado, Date dataInicial, Integer corridaId, Date dataPadrao) {
|
||||
List<Corrida> corridas = corridaDAO.buscarPorEstado(estado, dataInicial, corridaId);
|
||||
Corrida corrida = corridaDAO.buscarPorId(new Corrida(corridaId, dataPadrao).getId());
|
||||
if(corrida != null){
|
||||
corridaDAO.editarCorridaPorOutraCorrida(corridas,corrida);
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue