fixes bug#AL-3516

master
wallace.henrique 2023-11-17 16:34:15 -03:00
parent e90ce6f66e
commit bfabb5f822
15 changed files with 311 additions and 24 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId>
<version>1.23.1</version>
<version>1.23.2</version>
<distributionManagement>
<repository>

View File

@ -5,10 +5,14 @@
package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.AsientoExclusivo;
import com.rjconsultores.ventaboletos.entidad.Corrida;
/**
*
* @author rodrigo
*/
public interface AsientoExclusivoDAO extends GenericDAO<AsientoExclusivo, Integer> {
void borrarByCorrida(Corrida corrida);
}

View File

@ -0,0 +1,18 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Disponibilidad;
/**
*
* @author wallace
*/
public interface DisponibilidadDAO extends GenericDAO<Disponibilidad, Integer> {
void borrarByCorrida(Corrida corrida);
}

View File

@ -1,7 +1,10 @@
package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs;
public interface IntegracaoTotvsDAO extends GenericDAO<IntegracaoTotvs, Integer> {
public void borrarByCorrida(Corrida corrida);
}

View File

@ -1,20 +0,0 @@
package com.rjconsultores.ventaboletos.dao;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.hibernate.GenericHibernateDAO;
import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs;
@Repository("IntgeracaoTotvsDAO")
public class IntgeracaoTotvsHibernateDAO extends GenericHibernateDAO<IntegracaoTotvs, Integer>
implements IntegracaoTotvsDAO {
@Autowired
public IntgeracaoTotvsHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
}

View File

@ -4,19 +4,23 @@
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
import com.rjconsultores.ventaboletos.dao.AsientoExclusivoDAO;
import com.rjconsultores.ventaboletos.entidad.AsientoExclusivo;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.AsientoExclusivoDAO;
import com.rjconsultores.ventaboletos.entidad.AsientoExclusivo;
import com.rjconsultores.ventaboletos.entidad.Corrida;
/**
*
* @author rodrigo
* @author walace
*/
@Repository("asientoExclusivoDAO")
public class AsientoExclusivoHibernateDAO extends GenericHibernateDAO<AsientoExclusivo, Integer>
@ -34,4 +38,17 @@ public class AsientoExclusivoHibernateDAO extends GenericHibernateDAO<AsientoExc
return c.list();
}
@Override
public void borrarByCorrida(Corrida corrida) {
StringBuilder sQuery = new StringBuilder("DELETE FROM ASIENTO_EXCLUSIVO WHERE corrida_Id = :corridaId AND TRUNC(feccorrida) = :feccorrida ");
SQLQuery qrUpdate = getSession().createSQLQuery(sQuery.toString());
qrUpdate.setParameter("feccorrida", corrida.getId().getFeccorrida());
qrUpdate.setParameter("corridaId", corrida.getId().getCorridaId());
qrUpdate.executeUpdate();
}
}

View File

@ -0,0 +1,34 @@
package com.rjconsultores.ventaboletos.dao.hibernate;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.DisponibilidadDAO;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Disponibilidad;
@Repository("disponibilidadDAO")
public class DisponibilidadHibernateDAO extends GenericHibernateDAO<Disponibilidad, Integer> implements DisponibilidadDAO {
@Autowired
public DisponibilidadHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public void borrarByCorrida(Corrida corrida) {
StringBuilder sQuery = new StringBuilder("DELETE FROM Disponibilidad WHERE corrida_Id = :corridaId AND TRUNC(feccorrida) = :feccorrida ");
SQLQuery qrUpdate = getSession().createSQLQuery(sQuery.toString());
qrUpdate.setParameter("feccorrida", corrida.getId().getFeccorrida());
qrUpdate.setParameter("corridaId", corrida.getId().getCorridaId());
qrUpdate.executeUpdate();
}
}

View File

@ -0,0 +1,34 @@
package com.rjconsultores.ventaboletos.dao.hibernate;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.IntegracaoTotvsDAO;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs;
@Repository("integracaoTotvsDAO")
public class IntegracaoTotvsHibernateDAO extends GenericHibernateDAO<IntegracaoTotvs, Integer> implements IntegracaoTotvsDAO {
@Autowired
public IntegracaoTotvsHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public void borrarByCorrida(Corrida corrida) {
StringBuilder sQuery = new StringBuilder("DELETE FROM INTEGRACAO_TOTVS_CORRIDA WHERE corrida_Id = :corridaId AND TRUNC(feccorrida) = :feccorrida ");
SQLQuery qrUpdate = getSession().createSQLQuery(sQuery.toString());
qrUpdate.setParameter("feccorrida", corrida.getId().getFeccorrida());
qrUpdate.setParameter("corridaId", corrida.getId().getCorridaId());
qrUpdate.executeUpdate();
}
}

View File

@ -0,0 +1,85 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.entidad;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
*
* @author wallace
*/
@Entity
@SequenceGenerator(name = "DISPONIBILIDAD_SEQ", sequenceName = "DISPONIBILIDAD_SEQ", allocationSize = 1)
@Table(name = "DISPONIBILIDAD")
public class Disponibilidad implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "DISPONIBILIDAD_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "DISPONIBILIDAD_SEQ")
private long disponibilidadId;
@OneToOne
@JoinColumns({
@JoinColumn(name = "CORRIDA_ID"),
@JoinColumn(name = "FECCORRIDA")})
private Corrida corrida;
@Column(name = "ACTIVO")
private Boolean activo;
@Basic(optional = false)
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
private Date fecmodif;
@Column(name = "USUARIO_ID")
private Integer usuarioId;
public long getDisponibilidadId() {
return disponibilidadId;
}
public void setDisponibilidadId(long disponibilidadId) {
this.disponibilidadId = disponibilidadId;
}
public Corrida getCorrida() {
return corrida;
}
public void setCorrida(Corrida corrida) {
this.corrida = corrida;
}
public Boolean getActivo() {
return activo;
}
public void setActivo(Boolean activo) {
this.activo = activo;
}
public Date getFecmodif() {
return fecmodif;
}
public void setFecmodif(Date fecmodif) {
this.fecmodif = fecmodif;
}
public Integer getUsuarioId() {
return usuarioId;
}
public void setUsuarioId(Integer usuarioId) {
this.usuarioId = usuarioId;
}
}

View File

@ -5,10 +5,14 @@
package com.rjconsultores.ventaboletos.service;
import com.rjconsultores.ventaboletos.entidad.AsientoExclusivo;
import com.rjconsultores.ventaboletos.entidad.Corrida;
/**
*
* @author rodrigo
*/
public interface AsientoExclusivoService extends GenericService<AsientoExclusivo, Integer> {
void borrarByCorrida(Corrida corrida);
}

View File

@ -0,0 +1,17 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.service;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Disponibilidad;
/**
*
* @author wallace
*/
public interface DisponibilidadService extends GenericService<Disponibilidad, Integer> {
public void borrarByCorrida(Corrida corrida);
}

View File

@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.service;
import java.util.Date;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Usuario;
@ -18,5 +19,7 @@ public interface IntegracaoTotvsService {
public List<PuntoVenta> buscaPuntoVentaEmpresa(Empresa empresa) throws Exception;
public Integer solicitaReIntegracaoBilhete(Empresa empresa, Date dataInicial, Date dataFinal, PuntoVenta puntoVenta, Usuario usuario) throws BusinessException;
public void borrarByCorrida(Corrida corrida);
}

View File

@ -6,6 +6,7 @@ package com.rjconsultores.ventaboletos.service.impl;
import com.rjconsultores.ventaboletos.dao.AsientoExclusivoDAO;
import com.rjconsultores.ventaboletos.entidad.AsientoExclusivo;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.service.AsientoExclusivoService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import java.util.Calendar;
@ -62,4 +63,10 @@ public class AsientoExclusivoServiceImpl implements AsientoExclusivoService {
asientoExclusivoDAO.actualizacion(entidad);
}
@Override
public void borrarByCorrida(Corrida corrida) {
asientoExclusivoDAO.borrarByCorrida(corrida);
}
}

View File

@ -0,0 +1,74 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.service.impl;
import java.util.Calendar;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.DisponibilidadDAO;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Disponibilidad;
import com.rjconsultores.ventaboletos.service.DisponibilidadService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
/**
*
* @author wallace
*/
@Service("disponibilidadService")
public class DisponibilidadServiceImpl implements DisponibilidadService {
@Autowired
private DisponibilidadDAO disponibilidadDAO;
public List<Disponibilidad> obtenerTodos() {
return disponibilidadDAO.obtenerTodos();
}
public Disponibilidad obtenerID(Integer id) {
return disponibilidadDAO.obtenerID(id);
}
@Transactional
public Disponibilidad suscribir(Disponibilidad entidad) {
Integer usuarioId = 1;
if (UsuarioLogado.getUsuarioLogado() != null){
usuarioId = UsuarioLogado.getUsuarioLogado().getUsuarioId();
}
entidad.setUsuarioId(usuarioId);
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE);
return disponibilidadDAO.suscribir(entidad);
}
@Transactional
public Disponibilidad actualizacion(Disponibilidad entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE);
return disponibilidadDAO.actualizacion(entidad);
}
@Transactional
public void borrar(Disponibilidad entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.FALSE);
disponibilidadDAO.actualizacion(entidad);
}
@Override
public void borrarByCorrida(Corrida corrida) {
disponibilidadDAO.borrarByCorrida(corrida);
}
}

View File

@ -13,6 +13,7 @@ import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO;
import com.rjconsultores.ventaboletos.dao.IntegracaoTotvsDAO;
import com.rjconsultores.ventaboletos.dao.MarcaDAO;
import com.rjconsultores.ventaboletos.dao.PuntoVentaDAO;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs;
import com.rjconsultores.ventaboletos.entidad.Marca;
@ -96,4 +97,10 @@ public class IntegracaoTotvsServiceImpl implements IntegracaoTotvsService {
}
return corridaDao.atualizaCorridasIntegracaoTotvs(marca, dataInicial, dataFinal, numCorrida);
}
@Override
public void borrarByCorrida(Corrida corrida) {
integracaoTotvsDAO.borrarByCorrida(corrida);
}
}