From 539ff4f86924720d06810267064fc0e44fa8d3cd Mon Sep 17 00:00:00 2001 From: gleimar Date: Thu, 29 Aug 2013 14:13:28 +0000 Subject: [PATCH] =?UTF-8?q?-=20corre=C3=A7=C3=A3o:=20apagar=20antes=20as?= =?UTF-8?q?=20tarifas=20que=20est=C3=A3o=20com=20activo=20=3D=200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@30315 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../hibernate/TarifaOficialHibernateDAO.java | 52 +++++++++++++++++++ .../ventaboletos/entidad/TarifaCategoria.java | 17 +++++- .../entidad/TarifaTipoptovta.java | 18 ++++++- 3 files changed, 85 insertions(+), 2 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java index 2e7536eff..7ff3e75fd 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java @@ -1,8 +1,12 @@ package com.rjconsultores.ventaboletos.dao.hibernate; +import java.util.List; + import org.hibernate.Query; import org.hibernate.SQLQuery; import org.hibernate.SessionFactory; +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; @@ -15,6 +19,8 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; @Repository("tarifaOficialDAO") public class TarifaOficialHibernateDAO extends GenericHibernateDAO implements TarifaOficialDAO { + private static Logger log = LoggerFactory.getLogger(TarifaOficialHibernateDAO.class); + @Autowired private SQLBuilder sqlBuilder; @@ -48,10 +54,56 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO list = query.list(); + + if (!list.isEmpty()){ + query = getSession().createQuery("DELETE FROM TarifaTipoptovta WHERE tarifa.tarifaId in (:ids)"); + query.setParameterList("ids", list); + int qtd = query.executeUpdate(); + log.info("qtd TarifaTipoptovta apagada = " + qtd); + + query = getSession().createQuery("DELETE FROM TarifaCategoria WHERE tarifa.tarifaId in (:ids)"); + query.setParameterList("ids", list); + qtd = query.executeUpdate(); + log.info("qtd TarifaCategoria apagada = " + qtd); + + query = getSession().createQuery("DELETE FROM Tarifa WHERE activo = 0 and tarifaId in (:ids)"); + query.setParameterList("ids", list); + qtd = query.executeUpdate(); + log.info("qtd Tarifa apagada = " + qtd); + + + + } + } + @Override public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Integer usuarioId, Boolean calculaPegagio) { + //Apago antes as tarifas que podem estar como activo =0 + apagarTarifasInativas(vigenciaTarifa); + // Insiro as tarifas que não existem SQLQuery querySQL = getSession().createSQLQuery(sqlBuilder.getSQLInserirTarifaPelaTarifaOficial(vigenciaTarifa.getVigenciatarifaId(), usuarioId)); querySQL.executeUpdate(); diff --git a/src/com/rjconsultores/ventaboletos/entidad/TarifaCategoria.java b/src/com/rjconsultores/ventaboletos/entidad/TarifaCategoria.java index 435eae8b7..9164e26b5 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/TarifaCategoria.java +++ b/src/com/rjconsultores/ventaboletos/entidad/TarifaCategoria.java @@ -7,13 +7,16 @@ package com.rjconsultores.ventaboletos.entidad; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; + import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; import javax.persistence.OneToOne; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @@ -49,6 +52,9 @@ public class TarifaCategoria implements Serializable { @OneToOne @JoinColumn(name = "CATEGORIA_ID") private Categoria categoria; + @JoinColumn(name = "TARIFA_ID", referencedColumnName = "TARIFA_ID") + @ManyToOne(fetch=FetchType.LAZY) + private Tarifa tarifa; public TarifaCategoria() { } @@ -113,7 +119,16 @@ public class TarifaCategoria implements Serializable { this.categoria = categoria; } - @Override + + public Tarifa getTarifa() { + return tarifa; + } + + public void setTarifa(Tarifa tarifa) { + this.tarifa = tarifa; + } + + @Override public int hashCode() { int hash = 0; hash += (tarifacategoriaId != null ? tarifacategoriaId.hashCode() : 0); diff --git a/src/com/rjconsultores/ventaboletos/entidad/TarifaTipoptovta.java b/src/com/rjconsultores/ventaboletos/entidad/TarifaTipoptovta.java index deee826d1..b3fda13aa 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/TarifaTipoptovta.java +++ b/src/com/rjconsultores/ventaboletos/entidad/TarifaTipoptovta.java @@ -7,13 +7,16 @@ package com.rjconsultores.ventaboletos.entidad; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; + import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; import javax.persistence.OneToOne; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @@ -49,6 +52,9 @@ public class TarifaTipoptovta implements Serializable { @OneToOne @JoinColumn(name = "TIPOPTOVTA_ID") private TipoPuntoVenta tipoPuntoVenta; + @JoinColumn(name = "TARIFA_ID", referencedColumnName = "TARIFA_ID") + @ManyToOne(fetch=FetchType.LAZY) + private Tarifa tarifa; public TarifaTipoptovta() { } @@ -112,8 +118,18 @@ public class TarifaTipoptovta implements Serializable { public void setTipoPuntoVenta(TipoPuntoVenta tipoPuntoVenta) { this.tipoPuntoVenta = tipoPuntoVenta; } + + - @Override + public Tarifa getTarifa() { + return tarifa; + } + + public void setTarifa(Tarifa tarifa) { + this.tarifa = tarifa; + } + + @Override public int hashCode() { int hash = 0; hash += (tarifatipoptovtaId != null ? tarifatipoptovtaId.hashCode() : 0);