diff --git a/src/com/rjconsultores/ventaboletos/dao/PricingEspecificoAgenciaDAO.java b/src/com/rjconsultores/ventaboletos/dao/PricingEspecificoAgenciaDAO.java new file mode 100644 index 000000000..40a9a81a7 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/PricingEspecificoAgenciaDAO.java @@ -0,0 +1,9 @@ +package com.rjconsultores.ventaboletos.dao; + +import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia; + +public interface PricingEspecificoAgenciaDAO extends GenericDAO { + + Boolean isDuplicado(PricingEspecificoAgencia entidad); + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/PricingEspecificoAgenciaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/PricingEspecificoAgenciaHibernateDAO.java new file mode 100644 index 000000000..87ef0b718 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/PricingEspecificoAgenciaHibernateDAO.java @@ -0,0 +1,42 @@ +package com.rjconsultores.ventaboletos.dao.hibernate; + +import java.util.List; + +import org.hibernate.Criteria; +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.PricingEspecificoAgenciaDAO; +import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia; + + +@Repository("pricingEspecificoAgenciaDAO") +public class PricingEspecificoAgenciaHibernateDAO extends GenericHibernateDAO implements PricingEspecificoAgenciaDAO { + + @Autowired + public PricingEspecificoAgenciaHibernateDAO(@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(); + } + @SuppressWarnings("unchecked") + @Override + public Boolean isDuplicado(PricingEspecificoAgencia entidad) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("puntoVenta.puntoventaId", entidad.getPuntoVenta().getPuntoventaId())); + + return c.list().isEmpty(); + } +} + diff --git a/src/com/rjconsultores/ventaboletos/entidad/ParadaCodOrgaoConcedente.java b/src/com/rjconsultores/ventaboletos/entidad/ParadaCodOrgaoConcedente.java index 8e099e44c..739f0170f 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ParadaCodOrgaoConcedente.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ParadaCodOrgaoConcedente.java @@ -1,5 +1,7 @@ package com.rjconsultores.ventaboletos.entidad; +import java.io.Serializable; + import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; @@ -15,7 +17,11 @@ import javax.persistence.Table; @Entity @SequenceGenerator(name = "PARADA_CODORGAOCONCEDENTE_SEQ", sequenceName = "PARADA_CODORGAOCONCEDENTE_SEQ", allocationSize = 1) @Table(name = "PARADA_COD_ORGAOCONCEDENTE") -public class ParadaCodOrgaoConcedente { +public class ParadaCodOrgaoConcedente implements Serializable { + /** + * + */ + private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @GeneratedValue(strategy = GenerationType.AUTO, generator = "PARADA_CODORGAOCONCEDENTE_SEQ") diff --git a/src/com/rjconsultores/ventaboletos/entidad/Pricing.java b/src/com/rjconsultores/ventaboletos/entidad/Pricing.java index c7414526f..720374a0e 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Pricing.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Pricing.java @@ -58,6 +58,8 @@ public class Pricing implements Serializable { private Boolean indtransferible; @Column(name = "INDRESERVABLE") private Boolean indreservable; + @Column(name = "EXIBEVENDA") + private Boolean exibeVenda; @Column(name = "INDCANCELABLE") private Boolean indcancelable; @Column(name = "ACTIVO") @@ -490,6 +492,14 @@ public class Pricing implements Serializable { public void setNombPricing(String nombPricing) { this.nombPricing = nombPricing; } + + public Boolean getExibeVenda() { + return exibeVenda; + } + + public void setExibeVenda(Boolean exibeVenda) { + this.exibeVenda = exibeVenda; + } @Override public int hashCode() { diff --git a/src/com/rjconsultores/ventaboletos/entidad/PricingEspecifico.java b/src/com/rjconsultores/ventaboletos/entidad/PricingEspecifico.java index 1d47e6130..7139c7d24 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PricingEspecifico.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PricingEspecifico.java @@ -84,8 +84,12 @@ public class PricingEspecifico implements Serializable, Cloneable { private Categoria categoria; @Column(name = "CORRIDA_ID") private Integer corridaId; + @Column(name = "EXIBEVENDA") + private Boolean exibeVenda; @OneToMany(mappedBy = "pricingEspecifico", cascade = CascadeType.ALL, fetch = FetchType.LAZY) private List pricingEspecificoOcupacionsList; + @OneToMany(mappedBy = "pricingEspecifico", cascade = CascadeType.ALL, fetch = FetchType.EAGER) + private List pricingEspecificoAgenciasList; public PricingEspecifico() { } @@ -237,6 +241,22 @@ public class PricingEspecifico implements Serializable, Cloneable { public void setPricingEspecificoOcupacionsList(List pricingEspecificoOcupacionsList) { this.pricingEspecificoOcupacionsList = pricingEspecificoOcupacionsList; } + + public Boolean getExibeVenda() { + return exibeVenda; + } + + public void setExibeVenda(Boolean exibeVenda) { + this.exibeVenda = exibeVenda; + } + + public List getPricingEspecificoAgenciasList() { + return pricingEspecificoAgenciasList; + } + + public void setPricingEspecificoAgenciasList(List pricingEspecificoAgenciasList) { + this.pricingEspecificoAgenciasList = pricingEspecificoAgenciasList; + } @Override public int hashCode() { @@ -275,5 +295,17 @@ public class PricingEspecifico implements Serializable, Cloneable { } return peoList; } + @Transient + public List getPricingEspecificoAgenciaListActivos() { + List peoList = new ArrayList(); + if(getPricingEspecificoAgenciasList() != null) { + for (PricingEspecificoAgencia peo : getPricingEspecificoAgenciasList()) { + if (peo.getActivo()) { + peoList.add(peo); + } + } + } + return peoList; + } } diff --git a/src/com/rjconsultores/ventaboletos/entidad/PricingEspecificoAgencia.java b/src/com/rjconsultores/ventaboletos/entidad/PricingEspecificoAgencia.java new file mode 100644 index 000000000..a75f96901 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/PricingEspecificoAgencia.java @@ -0,0 +1,97 @@ +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.ManyToOne; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +@Entity +@SequenceGenerator(name = "PRICING_ESP_PUNTOV_SEQ", sequenceName = "PRICING_ESP_PUNTOV_SEQ", allocationSize = 1) +@Table(name = "PRICING_ESP_PUNTO_VENTA") +public class PricingEspecificoAgencia implements Serializable { + + private static final long serialVersionUID = 1L; + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "PRICING_ESP_PUNTOV_SEQ") + @Column(name = "PRICINGESPPUNTOVENTA_ID") + private Integer pricingEspecificoAgenciaId; + @ManyToOne + @JoinColumn(name = "PUNTOVENTA_ID",referencedColumnName = "PUNTOVENTA_ID") + private PuntoVenta puntoVenta; + @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; + @JoinColumn(name = "PRICINGESPECIFICO_ID", referencedColumnName = "PRICINGESPECIFICO_ID") + @ManyToOne + private PricingEspecifico pricingEspecifico; + + public PricingEspecificoAgencia() { + super(); + } + public PricingEspecificoAgencia(PuntoVenta puntoVenta, PricingEspecifico pricingEspecifico, Integer usuarioId) { + super(); + + this.puntoVenta = puntoVenta; + this.pricingEspecifico = pricingEspecifico; + this.usuarioId = usuarioId; + this.fecmodif = new Date(); + this.activo = Boolean.TRUE; + } + public Integer getPricingEspecificoAgenciaId() { + return pricingEspecificoAgenciaId; + } + public void setPricingEspecificoAgenciaId(Integer pricingEspecificoAgenciaId) { + this.pricingEspecificoAgenciaId = pricingEspecificoAgenciaId; + } + public PuntoVenta getPuntoVenta() { + return puntoVenta; + } + public void setPuntoVenta(PuntoVenta puntoVenta) { + this.puntoVenta = puntoVenta; + } + 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; + } + public PricingEspecifico getPricingEspecifico() { + return pricingEspecifico; + } + public void setPricingEspecifico(PricingEspecifico pricingEspecifico) { + this.pricingEspecifico = pricingEspecifico; + } + + +} diff --git a/src/com/rjconsultores/ventaboletos/service/PricingEspecificoAgenciaService.java b/src/com/rjconsultores/ventaboletos/service/PricingEspecificoAgenciaService.java new file mode 100644 index 000000000..0953f1ec0 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/PricingEspecificoAgenciaService.java @@ -0,0 +1,8 @@ +package com.rjconsultores.ventaboletos.service; + +import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia; + +public interface PricingEspecificoAgenciaService extends GenericService { + + Boolean existeAgenciaPricing(PricingEspecificoAgencia entidad); +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PricingEspecificoAgenciaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PricingEspecificoAgenciaServiceImpl.java new file mode 100644 index 000000000..a04089b0f --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/PricingEspecificoAgenciaServiceImpl.java @@ -0,0 +1,63 @@ +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.PricingEspecificoAgenciaDAO; +import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia; +import com.rjconsultores.ventaboletos.service.PricingEspecificoAgenciaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("pricingEspecificoAgenciaService") +public class PricingEspecificoAgenciaServiceImpl implements PricingEspecificoAgenciaService { + @Autowired + private PricingEspecificoAgenciaDAO pricingEspecificoAgenciaDAO; + + @Override + public List obtenerTodos() { + return pricingEspecificoAgenciaDAO.obtenerTodos(); + } + + @Override + public PricingEspecificoAgencia obtenerID(Long id) { + return pricingEspecificoAgenciaDAO.obtenerID(id); + } + + @Override + @Transactional + public PricingEspecificoAgencia suscribir(PricingEspecificoAgencia entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); +// entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + + return pricingEspecificoAgenciaDAO.suscribir(entidad); + } + + @Override + @Transactional + public PricingEspecificoAgencia actualizacion(PricingEspecificoAgencia entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + + return pricingEspecificoAgenciaDAO.actualizacion(entidad); + } + + @Override + @Transactional + public void borrar(PricingEspecificoAgencia entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + + pricingEspecificoAgenciaDAO.actualizacion(entidad); + } + @Override + public Boolean existeAgenciaPricing (PricingEspecificoAgencia entidad){ + return pricingEspecificoAgenciaDAO.isDuplicado(entidad); + } + +}