fixes bug#24373

qua:
dev:Valdevir
Correcao salvar localidades excluidas na conexao entre linhas


git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@111973 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2022-04-23 01:02:56 +00:00
parent 785661eb65
commit 784c494bbe
6 changed files with 384 additions and 0 deletions

View File

@ -0,0 +1,27 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.dao;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaLocalidadeRemovida;
import com.rjconsultores.ventaboletos.entidad.Parada;
/**
*
* @author valdevirsp
*/
public interface ConexionRutaLocalidadeRemovidaDAO extends GenericDAO<ConexionRutaLocalidadeRemovida, Integer> {
public void removerPorParada(Parada parada);
public ConexionRutaLocalidadeRemovida obtenerPorParadaId(Integer id);
public List<ConexionRutaLocalidadeRemovida> obtenerPorParadaIdList(List<Long> paradaIdList);
}

View File

@ -0,0 +1,94 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.Calendar;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.ConexionRutaLocalidadeRemovidaDAO;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaLocalidadeRemovida;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
/**
*
* @author valdevirsp
*/
@Repository("conexionRutaLocalidadeRemovidaDAO")
public class ConexionRutaLocalidadeRemovidaHibernateDAO extends GenericHibernateDAO<ConexionRutaLocalidadeRemovida, Integer> implements ConexionRutaLocalidadeRemovidaDAO {
private static Logger log = LoggerFactory.getLogger(ConexionRutaLocalidadeRemovidaHibernateDAO.class);
@Autowired
public ConexionRutaLocalidadeRemovidaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public void removerPorParada(Parada parada) {
try {
Criteria c = this.makeCriteria();
c.add(Restrictions.eq("paradaId", parada.getParadaId().longValue()));
c.add(Restrictions.eq("activo", Boolean.TRUE));
ConexionRutaLocalidadeRemovida conexionRutaLocalidadeRemovida = (ConexionRutaLocalidadeRemovida) c.uniqueResult();
borrar(conexionRutaLocalidadeRemovida);
} catch (Exception e) {
log.error("Erro ao remover por por paradaId", e);
}
}
@Transactional
public void borrar(ConexionRutaLocalidadeRemovida entidad) {
try {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.FALSE);
actualizacion(entidad);
} catch (Exception e) {
log.error("Erro ao borrar conexionRutaLocalidadeRemovida ", e);
}
}
@SuppressWarnings("unchecked")
public ConexionRutaLocalidadeRemovida obtenerPorParadaId(Integer paradaId) {
try {
Criteria c = this.makeCriteria();
c.add(Restrictions.eq("paradaId", paradaId));
c.add(Restrictions.eq("activo", Boolean.TRUE));
List<ConexionRutaLocalidadeRemovida> conexionRutaLocalidadeRemovidaList = c.list();
return conexionRutaLocalidadeRemovidaList != null && conexionRutaLocalidadeRemovidaList.size() > 0 ? conexionRutaLocalidadeRemovidaList.get(0) : null;
} catch (Exception e) {
log.error("Erro ao obter paradas por por paradaId", e);
return null;
}
}
@SuppressWarnings("unchecked")
public List<ConexionRutaLocalidadeRemovida> obtenerPorParadaIdList(List<Long> paradaIdList) {
try {
Criteria c = this.makeCriteria();
c.add(Restrictions.in("paradaId", paradaIdList));
c.add(Restrictions.eq("activo", Boolean.TRUE));
List<ConexionRutaLocalidadeRemovida> conexionRutaLocalidadeRemovidaList = c.list();
return conexionRutaLocalidadeRemovidaList;
} catch (Exception e) {
log.error("Erro ao obter paradas por por paradaIdList", e);
return null;
}
}
}

View File

@ -0,0 +1,138 @@
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.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
* @author valdevir.silva
*
*/
@Entity
@SequenceGenerator(name = "CONEXION_RUTA_LOC_REMOVIDA_SEQ", sequenceName = "CONEXION_RUTA_LOC_REMOVIDA_SEQ", allocationSize = 1)
@Table(name = "CONEXION_RUTA_LOC_REMOVIDA")
public class ConexionRutaLocalidadeRemovida implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "CONEXION_RUTA_LOC_REMOVIDA_SEQ")
@Column(name = "CONEXIONRUTALOCREMOVIDA_ID")
private Integer conexionRutaLocRemovidaId;
@Column(name = "CONEXIONRUTACONF_ID")
private Integer conexionRutaConfId;
@Column(name = "PARADA_ID")
private Long paradaId;
@Column(name = "ACTIVO")
private Boolean activo;
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
private Date fecmodif;
@Column(name = "USUARIO_ID")
private Integer usuarioId;
public ConexionRutaLocalidadeRemovida() {
super();
}
public ConexionRutaLocalidadeRemovida(Integer conexionRutaLocRemovidaId, Integer conexionRutaConfId, Long paradaId, Boolean activo, Date fecmodif, Integer usuarioId) {
super();
this.conexionRutaLocRemovidaId = conexionRutaLocRemovidaId;
this.conexionRutaConfId = conexionRutaConfId;
this.paradaId = paradaId;
this.activo = activo;
this.fecmodif = fecmodif;
this.usuarioId = usuarioId;
}
public Integer getConexionRutaLocRemovidaId() {
return conexionRutaLocRemovidaId;
}
public void setConexionRutaLocRemovidaId(Integer conexionRutaLocRemovidaId) {
this.conexionRutaLocRemovidaId = conexionRutaLocRemovidaId;
}
public Integer getConexionRutaConfId() {
return conexionRutaConfId;
}
public void setConexionRutaConfId(Integer conexionRutaConfId) {
this.conexionRutaConfId = conexionRutaConfId;
}
public Long getParadaId() {
return paradaId;
}
public void setParadaId(Long paradaId) {
this.paradaId = paradaId;
}
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;
}
@Override
public String toString() {
return "ConexionRutaConf [conexionRutaLocRemovidasId=" + conexionRutaLocRemovidaId + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((conexionRutaLocRemovidaId == null) ? 0 : conexionRutaLocRemovidaId.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof ConexionRutaConf))
return false;
ConexionRutaConf other = (ConexionRutaConf) obj;
if (getConexionRutaConfId() == null) {
if (other.getConexionRutaConfId() != null)
return false;
} else if (!getConexionRutaConfId().equals(other.getConexionRutaConfId()))
return false;
return true;
}
}

View File

@ -114,6 +114,19 @@ public class Parada implements Serializable, Auditavel<Parada> {
@NaoAuditar
private Parada paradaClone;
@Transient
@NaoAuditar
Boolean isParadaConexaoRutaExcluida;
public Boolean getIsParadaConexaoRutaExcluida() {
return isParadaConexaoRutaExcluida;
}
public void setIsParadaConexaoRutaExcluida(Boolean isParadaConexaoRutaExcluida) {
this.isParadaConexaoRutaExcluida = isParadaConexaoRutaExcluida;
}
public Parada() {
super();
}

View File

@ -0,0 +1,29 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.service;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaLocalidadeRemovida;
import com.rjconsultores.ventaboletos.entidad.Parada;
/**
*
* @author valdevirsp
*/
public interface ConexionRutaLocalidadeRemovidaService extends GenericService<ConexionRutaLocalidadeRemovida, Integer> {
public void removerPorParada(Parada parada);
public ConexionRutaLocalidadeRemovida suscribir(Integer ConexionRutaConfId, Integer paradaId);
public ConexionRutaLocalidadeRemovida obtenerPorParadaId(Integer id);
public List<ConexionRutaLocalidadeRemovida> obtenerPorParadaList(List<Parada> paradaList);
}

View File

@ -0,0 +1,83 @@
package com.rjconsultores.ventaboletos.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.ConexionRutaLocalidadeRemovidaDAO;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaLocalidadeRemovida;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.service.ConexionRutaLocalidadeRemovidaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
/**
*
* @author valdevisp
*/
@Service("conexionRutaLocalidadeRemovidaService")
public class ConexionRutaLocalidadeRemovidaServiceImpl implements ConexionRutaLocalidadeRemovidaService {
@Autowired
private ConexionRutaLocalidadeRemovidaDAO conexionRutaLocalidadeRemovidaDAO;
@Transactional
public List<ConexionRutaLocalidadeRemovida> obtenerTodos() {
return conexionRutaLocalidadeRemovidaDAO.obtenerTodos();
}
@Transactional
public ConexionRutaLocalidadeRemovida obtenerID(Integer id) {
return conexionRutaLocalidadeRemovidaDAO.obtenerID(id);
}
@Transactional
public ConexionRutaLocalidadeRemovida suscribir(Integer ConexionRutaConfId, Integer paradaId) {
ConexionRutaLocalidadeRemovida conexionRutaLocalidadeRemovida = new ConexionRutaLocalidadeRemovida(null, ConexionRutaConfId, paradaId.longValue(), Boolean.TRUE, new Date(), UsuarioLogado.getUsuarioLogado().getUsuarioId());
return conexionRutaLocalidadeRemovidaDAO.suscribir(conexionRutaLocalidadeRemovida);
}
@Transactional
public ConexionRutaLocalidadeRemovida actualizacion(ConexionRutaLocalidadeRemovida entidad) {
return conexionRutaLocalidadeRemovidaDAO.actualizacion(entidad);
}
@Transactional
public void borrar(ConexionRutaLocalidadeRemovida entidad) {
conexionRutaLocalidadeRemovidaDAO.borrar(entidad);
}
@Transactional
public void removerPorParada(Parada parada) {
conexionRutaLocalidadeRemovidaDAO.removerPorParada(parada);
}
@Override
@Transactional
public ConexionRutaLocalidadeRemovida suscribir(ConexionRutaLocalidadeRemovida entidad) {
return conexionRutaLocalidadeRemovidaDAO.suscribir(entidad);
}
@Transactional
public ConexionRutaLocalidadeRemovida obtenerPorParadaId(Integer id) {
return conexionRutaLocalidadeRemovidaDAO.obtenerPorParadaId(id);
}
/**
*Obtem a lista de paradas removidas pela lista de paradas
*/
@Transactional
public List<ConexionRutaLocalidadeRemovida> obtenerPorParadaList(List<Parada> paradaList) {
List<Long> paradaIdList = new ArrayList<Long>();
for (Parada parada : paradaList) {
paradaIdList.add(parada.getParadaId().longValue());
}
return conexionRutaLocalidadeRemovidaDAO.obtenerPorParadaIdList(paradaIdList);
}
}