diff --git a/pom.xml b/pom.xml
index 3bbb04544..57fe82c99 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
br.com.rjconsultores
ModelWeb
- 1.8.0
+ 1.8.1
rj-releases
diff --git a/src/com/rjconsultores/ventaboletos/dao/BoletoDAO.java b/src/com/rjconsultores/ventaboletos/dao/BoletoDAO.java
index d686a73f4..69e78f66b 100644
--- a/src/com/rjconsultores/ventaboletos/dao/BoletoDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/BoletoDAO.java
@@ -4,6 +4,7 @@
*/
package com.rjconsultores.ventaboletos.dao;
+import java.util.Date;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Boleto;
@@ -22,5 +23,6 @@ public interface BoletoDAO extends GenericDAO {
public String getSequenciaBoletoId();
public String getSequenciaNumOperacion();
public String getSequenciaNumReservacion();
- void insertBoletoRserva(Boleto miBoletoTemporal);
+ void insertBoletoReserva(Boleto miBoletoTemporal);
+ public boolean isExisteBoletoPorCorrida(Integer corridaId, Date fecCorrida);
}
diff --git a/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java
index b2827d4b9..bb55d3a96 100644
--- a/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java
@@ -109,5 +109,7 @@ public interface CorridaDAO extends GenericDAO {
public Integer buscarOcupacaoCorrida(Corrida corrida);
public List buscarCorridas(Parada ori, Parada des, Date dataInicio, Date dataFinal, ClaseServicio cs,
- Ruta linha, Empresa empresa);
+ Ruta linha, Empresa empresa);
+
+ public Corrida buscarCorridaAtivaPorId(Id id);
}
\ No newline at end of file
diff --git a/src/com/rjconsultores/ventaboletos/dao/PuntoVentaDAO.java b/src/com/rjconsultores/ventaboletos/dao/PuntoVentaDAO.java
index 5c3ea7a51..c4d2fe5e2 100644
--- a/src/com/rjconsultores/ventaboletos/dao/PuntoVentaDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/PuntoVentaDAO.java
@@ -41,4 +41,5 @@ public interface PuntoVentaDAO extends GenericDAO {
public List buscaPuntoVentaEmpresa(Empresa empresa);
+
}
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/BoletoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/BoletoHibernateDAO.java
index f50637606..51c82f9ac 100644
--- a/src/com/rjconsultores/ventaboletos/dao/hibernate/BoletoHibernateDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/BoletoHibernateDAO.java
@@ -4,9 +4,13 @@
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
+import java.math.BigDecimal;
+import java.util.Date;
import java.util.List;
+import org.apache.log4j.Logger;
import org.hibernate.Criteria;
+import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Order;
@@ -20,6 +24,9 @@ import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.BoletoDAO;
import com.rjconsultores.ventaboletos.entidad.Boleto;
+import com.rjconsultores.ventaboletos.utilerias.ActivoUtil;
+import com.rjconsultores.ventaboletos.utilerias.DateUtil;
+import com.rjconsultores.ventaboletos.utilerias.MoneyHelper;
import com.rjconsultores.ventaboletos.vo.embarcada.PtoVtaUsuarioUltimaVendaDispositivoVO;
/**
@@ -28,7 +35,7 @@ import com.rjconsultores.ventaboletos.vo.embarcada.PtoVtaUsuarioUltimaVendaDispo
*/
@Repository("boletoDAO")
public class BoletoHibernateDAO extends GenericHibernateDAO implements BoletoDAO {
-
+ private static Logger log = Logger.getLogger(BoletoHibernateDAO.class);
@Autowired
public BoletoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
@@ -65,6 +72,27 @@ public class BoletoHibernateDAO extends GenericHibernateDAO implem
return (Boleto) c.uniqueResult();
}
+ public boolean isExisteBoletoPorCorrida(Integer corridaId, Date fecCorrida) {
+ try {
+
+ StringBuilder hql = new StringBuilder();
+ hql.append(" select ");
+ hql.append(" count(*) from boleto b where " );
+ hql.append(" b.corrida_id = :corridaId and b.feccorrida = :feccorrida and ROWNUM = 1 and b.activo = :isActivo");
+ Query query = getSession().createSQLQuery(hql.toString());
+ query.setInteger("isActivo", ActivoUtil.ATIVO);
+ query.setDate("feccorrida", fecCorrida);
+ query.setInteger("corridaId", corridaId);
+
+ BigDecimal qtde = (BigDecimal) query.uniqueResult();
+ return qtde !=null && MoneyHelper.isMaior(qtde, BigDecimal.ZERO) ;
+ }catch(Exception e) {
+ log.error("Erro buscar Bole to por corrida para corrida=" + corridaId + "data:" + DateUtil.getStringDate(fecCorrida), e);
+ return false;
+ }
+
+ }
+
public String getSequenciaBoletoId(){
String sql = "SELECT BOLETO_SEQ.nextval FROM DUAL";
Object o = this.getSession().createSQLQuery(sql).uniqueResult();
@@ -84,7 +112,7 @@ public class BoletoHibernateDAO extends GenericHibernateDAO implem
}
@Override
- public void insertBoletoRserva(Boleto miBoletoTemporal){
+ public void insertBoletoReserva(Boleto miBoletoTemporal){
SQLQuery query = getSession().createSQLQuery(getSqlInsertBoletoRserva());
query.setLong("boletoId", miBoletoTemporal.getBoletoId());
@@ -130,7 +158,7 @@ public class BoletoHibernateDAO extends GenericHibernateDAO implem
query.setBigDecimal("preciopagado", miBoletoTemporal.getPreciopagado());
query.setBigDecimal("preciobase", miBoletoTemporal.getPreciobase());
query.setInteger("ptovtaventaId", miBoletoTemporal.getPtovtaventaId());
- query.setInteger("puntoventaId", miBoletoTemporal.getPuntoVenta().getPuntoventaId());
+ query.setInteger("puntoventaId", miBoletoTemporal.getPuntoVentaId());
query.setInteger("rutaId", miBoletoTemporal.getRutaId());
query.setInteger("temporeservafidelidade", miBoletoTemporal.getTemporeservafidelidade());
query.setInteger("tipoventaId", miBoletoTemporal.getTipoventaId());
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java
index c8b5fbf19..830212511 100644
--- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java
@@ -819,6 +819,30 @@ public class CorridaHibernateDAO extends GenericHibernateDAO buscaCorridaFutura(){
+ List corridaList = new ArrayList();
+
+ return corridaList;
+ }
@Override
public List buscarCorridaRelAproveitamento(Parada origem, Parada destino,
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/PuntoVentaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/PuntoVentaHibernateDAO.java
index 87c0d99fb..16829eed7 100644
--- a/src/com/rjconsultores/ventaboletos/dao/hibernate/PuntoVentaHibernateDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/PuntoVentaHibernateDAO.java
@@ -290,5 +290,6 @@ public class PuntoVentaHibernateDAO extends GenericHibernateDAO {
public Boolean existeCorrida(Long id);
public Integer buscarOcupacaoCorrida(Corrida corrida);
+
+ public Boolean generarCorrida(Date dataGeracao, List lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida);
+
+ public Corrida buscarPorId(Corrida.Id id);
+
+ public Corrida buscarCorridaAtivaPorId(Id id);
}
diff --git a/src/com/rjconsultores/ventaboletos/service/PuntoVentaService.java b/src/com/rjconsultores/ventaboletos/service/PuntoVentaService.java
index 937c5695a..b4af26c14 100644
--- a/src/com/rjconsultores/ventaboletos/service/PuntoVentaService.java
+++ b/src/com/rjconsultores/ventaboletos/service/PuntoVentaService.java
@@ -48,4 +48,5 @@ public interface PuntoVentaService {
public List buscaPuntoVentaEmpresaSemECF(Empresa empresa);
List buscarPuntoVentaPtoVtaComissao(List empresas);
+
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java
index 04f02757b..123f0c0ec 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java
@@ -108,7 +108,7 @@ public class BoletoServiceImpl implements BoletoService {
miBoletoTemporal.setOrigenId(unoTerminalOrigenId);
miBoletoTemporal.setPreciopricing(BigDecimal.ZERO);
miBoletoTemporal.setPorccategoria(null);
- miBoletoTemporal.setPuntoVenta(miPuntoVenta);
+ miBoletoTemporal.setPuntoVentaId(unPuntoVenta.intValue());
miBoletoTemporal.setPtovtaventaId(miPuntoVenta.getPuntoventaId());
miBoletoTemporal.setRutaId(rutaId);
miBoletoTemporal.setTemporeservafidelidade(tempoReserva!=null ? tempoReserva.intValue() : 0);
@@ -118,7 +118,7 @@ public class BoletoServiceImpl implements BoletoService {
miBoletoTemporal.setUsuario(usuario);
miBoletoTemporal.setActivo(true);
// Cria boleto de reserva
- boletoDAO.insertBoletoRserva(miBoletoTemporal);
+ boletoDAO.insertBoletoReserva(miBoletoTemporal);
}
@@ -191,6 +191,10 @@ public class BoletoServiceImpl implements BoletoService {
return "01" + (String.format("%010d", Integer.valueOf(numReservacopnSeq).intValue()));
}
+ public boolean isExisteBoletoPorCorrida(Integer corridaId, Date fecCorrida) {
+ return boletoDAO.isExisteBoletoPorCorrida(corridaId, fecCorrida);
+
+ }
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java
index e51b5df6e..79ec4b37c 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java
@@ -197,13 +197,10 @@ public class CorridaServiceImpl implements CorridaService {
return corridaDAO.actualizacion(entidad);
}
+
@Transactional
public void borrar(Corrida entidad) {
- entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
- entidad.setFecmodif(Calendar.getInstance().getTime());
- entidad.setActivo(ActivoUtil.ATIVO);
-
- corridaDAO.actualizacion(entidad);
+ corridaDAO.borrar(entidad);
}
@Override
@@ -915,7 +912,7 @@ public class CorridaServiceImpl implements CorridaService {
return b - a;
}
- private Boolean generarCorrida(Date dataGeracao, List lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida) {
+ public Boolean generarCorrida(Date dataGeracao, List lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida) {
DefaultTransactionDefinition def = new DefaultTransactionDefinition(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);
@@ -1027,12 +1024,15 @@ public class CorridaServiceImpl implements CorridaService {
}
}
- } finally {
+ }catch (Exception e) {
+ log.error("Erro ao gerar corrida", e );
+ }
+ finally {
if ((status != null) && (!status.isCompleted())) {
transactionManager.commit(status);
}
}
- //Valida se existe configuração de reserva para o cliente e crria Cria reserva
+ //Valida se existe configuração de reserva para o cliente e cria Cria reserva
if(corrida !=null) {
if(unUsuarioId!=null && unPuntoVenta!=null && estacionId!=null) {
validaCriaReservaCliente(corrida, unUsuarioId, unPuntoVenta, estacionId);
@@ -1715,5 +1715,18 @@ public class CorridaServiceImpl implements CorridaService {
public Integer buscarOcupacaoCorrida(Corrida corrida) {
return corridaDAO.buscarOcupacaoCorrida(corrida);
}
+
+ @Override
+ public Corrida buscarPorId(Id id) {
+ // TODO Auto-generated method stub
+ return corridaDAO.buscarPorId(id);
+ }
+
+ @Override
+ public Corrida buscarCorridaAtivaPorId(Id id) {
+ return corridaDAO.buscarCorridaAtivaPorId(id);
+ }
+
+
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java
index 6f5c70e9f..f7f999b3f 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java
@@ -188,6 +188,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
return entidad;
}
+
private void integraAG(PuntoVenta entidad) throws IntegracionException{
Connection connection = null;
try {
diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarefaGeracaoCorridaVO.java b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarefaGeracaoCorridaVO.java
new file mode 100644
index 000000000..531e283e3
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarefaGeracaoCorridaVO.java
@@ -0,0 +1,47 @@
+package com.rjconsultores.ventaboletos.vo.esquemaoperacional;
+
+public class TarefaGeracaoCorridaVO {
+
+ private String tarefa;
+ private String status;
+ private String codStatus;
+
+ public TarefaGeracaoCorridaVO() {
+ super();
+ }
+
+
+
+ public TarefaGeracaoCorridaVO(String tarefa, String status, String codStatus) {
+ super();
+ this.tarefa = tarefa;
+ this.status = status;
+ this.codStatus = codStatus;
+ }
+
+
+
+ public String getTarefa() {
+ return tarefa;
+ }
+
+ public void setTarefa(String tarefa) {
+ this.tarefa = tarefa;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getCodStatus() {
+ return codStatus;
+ }
+
+ public void setCodStatus(String codStatus) {
+ this.codStatus = codStatus;
+ }
+}