From c7ec3fb3571b0471364fdfe5c02a41a435735ad4 Mon Sep 17 00:00:00 2001 From: julio Date: Mon, 24 Nov 2014 13:12:45 +0000 Subject: [PATCH] =?UTF-8?q?P12=20-=20Definir=20a=20classe=20tarif=C3=A1ria?= =?UTF-8?q?=20(bug=20#5797)=20Tempo:=208=20horas?= 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@39850 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/PricingClasseTarifariaDAO.java | 9 ++ .../PricingClasseTarifariaHibernateDAO.java | 51 +++++++ .../entidad/PricingClasseTarifaria.java | 127 ++++++++++++++++++ .../entidad/PricingOcupaAntecipa.java | 11 ++ .../PricingClasseTarifariaService.java | 9 ++ .../PricingClasseTarifariaServiceImpl.java | 62 +++++++++ 6 files changed, 269 insertions(+) create mode 100644 src/com/rjconsultores/ventaboletos/dao/PricingClasseTarifariaDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/PricingClasseTarifariaHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/PricingClasseTarifaria.java create mode 100644 src/com/rjconsultores/ventaboletos/service/PricingClasseTarifariaService.java create mode 100644 src/com/rjconsultores/ventaboletos/service/impl/PricingClasseTarifariaServiceImpl.java diff --git a/src/com/rjconsultores/ventaboletos/dao/PricingClasseTarifariaDAO.java b/src/com/rjconsultores/ventaboletos/dao/PricingClasseTarifariaDAO.java new file mode 100644 index 000000000..516786611 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/PricingClasseTarifariaDAO.java @@ -0,0 +1,9 @@ +package com.rjconsultores.ventaboletos.dao; + +import com.rjconsultores.ventaboletos.entidad.PricingClasseTarifaria; + +public interface PricingClasseTarifariaDAO extends GenericDAO { + + public Boolean validacionSigla(String sigla); + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/PricingClasseTarifariaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/PricingClasseTarifariaHibernateDAO.java new file mode 100644 index 000000000..b396e1bb3 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/PricingClasseTarifariaHibernateDAO.java @@ -0,0 +1,51 @@ +package com.rjconsultores.ventaboletos.dao.hibernate; + +import java.util.List; + +import org.hibernate.Criteria; +import org.hibernate.Query; +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.PricingClasseTarifariaDAO; +import com.rjconsultores.ventaboletos.entidad.PricingClasseTarifaria; + +@Repository("pricingClasseTarifariaDAO") +public class PricingClasseTarifariaHibernateDAO extends GenericHibernateDAO + implements PricingClasseTarifariaDAO { + + @Autowired + public PricingClasseTarifariaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @SuppressWarnings("unchecked") + @Override + public List obtenerTodos() { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + return c.list(); + } + + public Boolean validacionSigla(String sigla) { + + StringBuffer hql = new StringBuffer(); + hql.append(" FROM PricingClasseTarifaria pct "); + hql.append(" WHERE pct.sigla = :sigla "); + hql.append(" AND pct.activo = :activo "); + + Query query = getSession().createQuery(hql.toString()); + query.setParameter("activo", Boolean.TRUE); + query.setParameter("sigla", sigla); + + if (query.list().isEmpty()) + return true; + else + return false; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/PricingClasseTarifaria.java b/src/com/rjconsultores/ventaboletos/entidad/PricingClasseTarifaria.java new file mode 100644 index 000000000..ae0ecbc08 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/PricingClasseTarifaria.java @@ -0,0 +1,127 @@ +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; + +@Entity +@SequenceGenerator(name = "PRICING_CLASSE_TARIFARIA_SEQ", sequenceName = "PRICING_CLASSE_TARIFARIA_SEQ", allocationSize = 1) +@Table(name = "PRICING_CLASSE_TARIFARIA") +public class PricingClasseTarifaria implements Serializable { + + private static final long serialVersionUID = 1L; + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "PRICING_CLASSE_TARIFARIA_SEQ") + @Column(name = "PRICINGCLASSETARIFARIA_ID") + private Integer pricingClasseTarifariaId; + @Column(name = "DESCCLASSE_TARIFARIA") + private String descClasseTarifaria; + @Column(name = "SIGLA") + private String sigla; + @Basic(optional = false) + @Column(name = "ACTIVO") + private Boolean activo; + @Basic(optional = false) + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + @Basic(optional = false) + @Column(name = "USUARIO_ID") + private Integer usuarioId; + + public Integer getPricingClasseTarifariaId() { + return pricingClasseTarifariaId; + } + + public void setPricingClasseTarifariaId(Integer pricingClasseTarifariaId) { + this.pricingClasseTarifariaId = pricingClasseTarifariaId; + } + + public String getDescClasseTarifaria() { + return descClasseTarifaria; + } + + public void setDescClasseTarifaria(String descClasseTarifaria) { + this.descClasseTarifaria = descClasseTarifaria; + } + + public String getSigla() { + return sigla; + } + + public void setSigla(String sigla) { + this.sigla = sigla; + } + + 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 int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((pricingClasseTarifariaId == null) ? 0 : pricingClasseTarifariaId.hashCode()); + result = prime * result + ((sigla == null) ? 0 : sigla.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + PricingClasseTarifaria other = (PricingClasseTarifaria) obj; + if (pricingClasseTarifariaId == null) { + if (other.pricingClasseTarifariaId != null) + return false; + } else if (!pricingClasseTarifariaId.equals(other.pricingClasseTarifariaId)) + return false; + if (sigla == null) { + if (other.sigla != null) + return false; + } else if (!sigla.equals(other.sigla)) + return false; + return true; + } + + @Override + public String toString() { + return descClasseTarifaria + " - " + sigla; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/PricingOcupaAntecipa.java b/src/com/rjconsultores/ventaboletos/entidad/PricingOcupaAntecipa.java index 88f00aca8..f55ebe9d2 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PricingOcupaAntecipa.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PricingOcupaAntecipa.java @@ -59,6 +59,9 @@ public class PricingOcupaAntecipa implements Serializable { @JoinColumn(name = "PRICING_ID", referencedColumnName = "PRICING_ID") @ManyToOne private Pricing pricing; + @JoinColumn(name = "PRICINGCLASSETARIFARIA_ID", referencedColumnName = "PRICINGCLASSETARIFARIA_ID") + @ManyToOne + private PricingClasseTarifaria pricingClasseTarifaria; public Integer getPricingocupaantecipaId() { return pricingocupaantecipaId; @@ -164,6 +167,14 @@ public class PricingOcupaAntecipa implements Serializable { this.pricing = pricing; } + public PricingClasseTarifaria getPricingClasseTarifaria() { + return pricingClasseTarifaria; + } + + public void setPricingClasseTarifaria(PricingClasseTarifaria pricingClasseTarifaria) { + this.pricingClasseTarifaria = pricingClasseTarifaria; + } + @Override public int hashCode() { int hash = 0; diff --git a/src/com/rjconsultores/ventaboletos/service/PricingClasseTarifariaService.java b/src/com/rjconsultores/ventaboletos/service/PricingClasseTarifariaService.java new file mode 100644 index 000000000..8545cc52e --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/PricingClasseTarifariaService.java @@ -0,0 +1,9 @@ +package com.rjconsultores.ventaboletos.service; + +import com.rjconsultores.ventaboletos.entidad.PricingClasseTarifaria; + +public interface PricingClasseTarifariaService extends GenericService { + + public Boolean validacionSigla(String sigla); + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PricingClasseTarifariaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PricingClasseTarifariaServiceImpl.java new file mode 100644 index 000000000..c19d998da --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/PricingClasseTarifariaServiceImpl.java @@ -0,0 +1,62 @@ +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.PricingClasseTarifariaDAO; +import com.rjconsultores.ventaboletos.entidad.PricingClasseTarifaria; +import com.rjconsultores.ventaboletos.service.PricingClasseTarifariaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("pricingClasseTarifariaService") +public class PricingClasseTarifariaServiceImpl implements PricingClasseTarifariaService { + + @Autowired + private PricingClasseTarifariaDAO pricingClasseTarifariaDAO; + + @Override + public List obtenerTodos() { + return pricingClasseTarifariaDAO.obtenerTodos(); + } + + @Override + public PricingClasseTarifaria obtenerID(Integer id) { + return pricingClasseTarifariaDAO.obtenerID(id); + } + + @Override + @Transactional + public PricingClasseTarifaria suscribir(PricingClasseTarifaria entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return pricingClasseTarifariaDAO.suscribir(entidad); + } + + @Override + @Transactional + public PricingClasseTarifaria actualizacion(PricingClasseTarifaria entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return pricingClasseTarifariaDAO.actualizacion(entidad); + } + + @Override + @Transactional + public void borrar(PricingClasseTarifaria entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + pricingClasseTarifariaDAO.actualizacion(entidad); + } + + public Boolean validacionSigla(String sigla) { + return pricingClasseTarifariaDAO.validacionSigla(sigla); + } + +}