From 784c494bbed1765a57773fc49f18c6217a1cdc45 Mon Sep 17 00:00:00 2001 From: valdevir Date: Sat, 23 Apr 2022 01:02:56 +0000 Subject: [PATCH] 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 --- .../ConexionRutaLocalidadeRemovidaDAO.java | 27 ++++ ...ionRutaLocalidadeRemovidaHibernateDAO.java | 94 ++++++++++++ .../ConexionRutaLocalidadeRemovida.java | 138 ++++++++++++++++++ .../ventaboletos/entidad/Parada.java | 13 ++ ...ConexionRutaLocalidadeRemovidaService.java | 29 ++++ ...xionRutaLocalidadeRemovidaServiceImpl.java | 83 +++++++++++ 6 files changed, 384 insertions(+) create mode 100644 src/com/rjconsultores/ventaboletos/dao/ConexionRutaLocalidadeRemovidaDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaLocalidadeRemovidaHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/ConexionRutaLocalidadeRemovida.java create mode 100644 src/com/rjconsultores/ventaboletos/service/ConexionRutaLocalidadeRemovidaService.java create mode 100644 src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaLocalidadeRemovidaServiceImpl.java diff --git a/src/com/rjconsultores/ventaboletos/dao/ConexionRutaLocalidadeRemovidaDAO.java b/src/com/rjconsultores/ventaboletos/dao/ConexionRutaLocalidadeRemovidaDAO.java new file mode 100644 index 000000000..62cf34f44 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/ConexionRutaLocalidadeRemovidaDAO.java @@ -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 { + + public void removerPorParada(Parada parada); + + public ConexionRutaLocalidadeRemovida obtenerPorParadaId(Integer id); + + public List obtenerPorParadaIdList(List paradaIdList); + + + + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaLocalidadeRemovidaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaLocalidadeRemovidaHibernateDAO.java new file mode 100644 index 000000000..63aff17ca --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaLocalidadeRemovidaHibernateDAO.java @@ -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 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 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 obtenerPorParadaIdList(List paradaIdList) { + try { + Criteria c = this.makeCriteria(); + c.add(Restrictions.in("paradaId", paradaIdList)); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + List conexionRutaLocalidadeRemovidaList = c.list(); + return conexionRutaLocalidadeRemovidaList; + } catch (Exception e) { + log.error("Erro ao obter paradas por por paradaIdList", e); + return null; + } + + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaLocalidadeRemovida.java b/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaLocalidadeRemovida.java new file mode 100644 index 000000000..ef2b15ff1 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaLocalidadeRemovida.java @@ -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; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/Parada.java b/src/com/rjconsultores/ventaboletos/entidad/Parada.java index a18e471d7..629ed0b71 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Parada.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Parada.java @@ -113,6 +113,19 @@ public class Parada implements Serializable, Auditavel { @Transient @NaoAuditar private Parada paradaClone; + + @Transient + @NaoAuditar + Boolean isParadaConexaoRutaExcluida; + + + public Boolean getIsParadaConexaoRutaExcluida() { + return isParadaConexaoRutaExcluida; + } + + public void setIsParadaConexaoRutaExcluida(Boolean isParadaConexaoRutaExcluida) { + this.isParadaConexaoRutaExcluida = isParadaConexaoRutaExcluida; + } public Parada() { super(); diff --git a/src/com/rjconsultores/ventaboletos/service/ConexionRutaLocalidadeRemovidaService.java b/src/com/rjconsultores/ventaboletos/service/ConexionRutaLocalidadeRemovidaService.java new file mode 100644 index 000000000..efdb70556 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/ConexionRutaLocalidadeRemovidaService.java @@ -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 { + + public void removerPorParada(Parada parada); + + public ConexionRutaLocalidadeRemovida suscribir(Integer ConexionRutaConfId, Integer paradaId); + + public ConexionRutaLocalidadeRemovida obtenerPorParadaId(Integer id); + + public List obtenerPorParadaList(List paradaList); + + + + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaLocalidadeRemovidaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaLocalidadeRemovidaServiceImpl.java new file mode 100644 index 000000000..ad45a77bd --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaLocalidadeRemovidaServiceImpl.java @@ -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 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 obtenerPorParadaList(List paradaList) { + List paradaIdList = new ArrayList(); + for (Parada parada : paradaList) { + paradaIdList.add(parada.getParadaId().longValue()); + } + return conexionRutaLocalidadeRemovidaDAO.obtenerPorParadaIdList(paradaIdList); + } +}