fix bug #0009072 - Adicionada funcionalidade de multiplas agencias no pricing
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@71823 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
99ef0f53ad
commit
b5ea32c0f7
|
@ -0,0 +1,9 @@
|
||||||
|
package com.rjconsultores.ventaboletos.dao;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.PricingEspecificoCanalVendas;
|
||||||
|
|
||||||
|
public interface PricingEspecificoCanalVendasDAO extends GenericDAO<PricingEspecificoCanalVendas, Long> {
|
||||||
|
|
||||||
|
Boolean isDuplicado(PricingEspecificoCanalVendas entidad);
|
||||||
|
|
||||||
|
}
|
|
@ -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.PricingEspecificoCanalVendasDAO;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.PricingEspecificoCanalVendas;
|
||||||
|
|
||||||
|
|
||||||
|
@Repository("pricingEspecificoCanalVendasDAO")
|
||||||
|
public class PricingEspecificoCanalVendasHibernateDAO extends GenericHibernateDAO<PricingEspecificoCanalVendas, Long> implements PricingEspecificoCanalVendasDAO {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public PricingEspecificoCanalVendasHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||||
|
setSessionFactory(factory);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
|
public List<PricingEspecificoCanalVendas> obtenerTodos() {
|
||||||
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||||
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||||
|
|
||||||
|
return c.list();
|
||||||
|
}
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
|
public Boolean isDuplicado(PricingEspecificoCanalVendas entidad) {
|
||||||
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||||
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||||
|
c.add(Restrictions.eq("tipoPtovta.tipoptovtaId", entidad.getTipoPtovta().getTipoptovtaId()));
|
||||||
|
|
||||||
|
return c.list().isEmpty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -27,6 +27,9 @@ import javax.persistence.Temporal;
|
||||||
import javax.persistence.TemporalType;
|
import javax.persistence.TemporalType;
|
||||||
import javax.persistence.Transient;
|
import javax.persistence.Transient;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.LazyCollection;
|
||||||
|
import org.hibernate.annotations.LazyCollectionOption;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Rafius
|
* @author Rafius
|
||||||
|
@ -88,9 +91,15 @@ public class PricingEspecifico implements Serializable, Cloneable {
|
||||||
private Boolean exibeVenda;
|
private Boolean exibeVenda;
|
||||||
@OneToMany(mappedBy = "pricingEspecifico", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
@OneToMany(mappedBy = "pricingEspecifico", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
||||||
private List<PricingEspecificoOcupacion> pricingEspecificoOcupacionsList;
|
private List<PricingEspecificoOcupacion> pricingEspecificoOcupacionsList;
|
||||||
|
|
||||||
@OneToMany(mappedBy = "pricingEspecifico", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
|
@OneToMany(mappedBy = "pricingEspecifico", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
|
||||||
private List<PricingEspecificoAgencia> pricingEspecificoAgenciasList;
|
private List<PricingEspecificoAgencia> pricingEspecificoAgenciasList;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "pricingEspecifico", cascade = CascadeType.ALL)
|
||||||
|
@LazyCollection(LazyCollectionOption.FALSE)
|
||||||
|
private List<PricingEspecificoCanalVendas> pricingEspecificoCanalVendasList;
|
||||||
|
|
||||||
|
|
||||||
public PricingEspecifico() {
|
public PricingEspecifico() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -258,6 +267,15 @@ public class PricingEspecifico implements Serializable, Cloneable {
|
||||||
this.pricingEspecificoAgenciasList = pricingEspecificoAgenciasList;
|
this.pricingEspecificoAgenciasList = pricingEspecificoAgenciasList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<PricingEspecificoCanalVendas> getPricingEspecificoCanalVendasList() {
|
||||||
|
return pricingEspecificoCanalVendasList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPricingEspecificoCanalVendasList(List<PricingEspecificoCanalVendas> pricingEspecificoCanalVendasList) {
|
||||||
|
this.pricingEspecificoCanalVendasList = pricingEspecificoCanalVendasList;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
int hash = 0;
|
int hash = 0;
|
||||||
|
@ -307,5 +325,17 @@ public class PricingEspecifico implements Serializable, Cloneable {
|
||||||
}
|
}
|
||||||
return peoList;
|
return peoList;
|
||||||
}
|
}
|
||||||
|
@Transient
|
||||||
|
public List<PricingEspecificoCanalVendas> getPricingEspecificoCanalListActivos() {
|
||||||
|
List<PricingEspecificoCanalVendas> pecList = new ArrayList<PricingEspecificoCanalVendas>();
|
||||||
|
if(getPricingEspecificoCanalVendasList() != null) {
|
||||||
|
for (PricingEspecificoCanalVendas pec : getPricingEspecificoCanalVendasList()) {
|
||||||
|
if (pec.getActivo()) {
|
||||||
|
pecList.add(pec);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return pecList;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,133 @@
|
||||||
|
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_CANAL_SEQ", sequenceName = "PRICING_ESP_CANAL_SEQ", allocationSize = 1)
|
||||||
|
@Table(name = "PRICING_ESP_CANAL_VENTA")
|
||||||
|
public class PricingEspecificoCanalVendas implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
@Id
|
||||||
|
@Basic(optional = false)
|
||||||
|
@GeneratedValue(strategy = GenerationType.AUTO, generator = "PRICING_ESP_CANAL_SEQ")
|
||||||
|
@Column(name = "PRICINGESPCANAL_ID")
|
||||||
|
private Integer pricingEspecificoCanalId;
|
||||||
|
@ManyToOne
|
||||||
|
@JoinColumn(name = "TIPOPTOVTA_ID", referencedColumnName = "TIPOPTOVTA_ID")
|
||||||
|
private TipoPuntoVenta tipoPtovta;
|
||||||
|
@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 PricingEspecificoCanalVendas() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
public PricingEspecificoCanalVendas(TipoPuntoVenta tipoPtovta, PricingEspecifico pricingEspecifico, Integer usuarioId) {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.tipoPtovta = tipoPtovta;
|
||||||
|
this.pricingEspecifico = pricingEspecifico;
|
||||||
|
this.usuarioId = usuarioId;
|
||||||
|
this.fecmodif = new Date();
|
||||||
|
this.activo = Boolean.TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPricingEspecificoCanalId() {
|
||||||
|
return pricingEspecificoCanalId;
|
||||||
|
}
|
||||||
|
public void setPricingEspecificoCanalId(Integer pricingEspecificoCanalId) {
|
||||||
|
this.pricingEspecificoCanalId = pricingEspecificoCanalId;
|
||||||
|
}
|
||||||
|
public TipoPuntoVenta getTipoPtovta() {
|
||||||
|
return tipoPtovta;
|
||||||
|
}
|
||||||
|
public void setTipoPtovta(TipoPuntoVenta tipoPtovta) {
|
||||||
|
this.tipoPtovta = tipoPtovta;
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
final int prime = 31;
|
||||||
|
int result = 1;
|
||||||
|
result = prime * result + ((activo == null) ? 0 : activo.hashCode());
|
||||||
|
result = prime * result + ((pricingEspecifico == null) ? 0 : pricingEspecifico.hashCode());
|
||||||
|
result = prime * result + ((tipoPtovta == null) ? 0 : tipoPtovta.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;
|
||||||
|
PricingEspecificoCanalVendas other = (PricingEspecificoCanalVendas) obj;
|
||||||
|
if (activo == null) {
|
||||||
|
if (other.activo != null)
|
||||||
|
return false;
|
||||||
|
} else if (!activo.equals(other.activo))
|
||||||
|
return false;
|
||||||
|
if (pricingEspecifico == null) {
|
||||||
|
if (other.pricingEspecifico != null)
|
||||||
|
return false;
|
||||||
|
} else if (!pricingEspecifico.equals(other.pricingEspecifico))
|
||||||
|
return false;
|
||||||
|
if (tipoPtovta == null) {
|
||||||
|
if (other.tipoPtovta != null)
|
||||||
|
return false;
|
||||||
|
} else if (!tipoPtovta.equals(other.tipoPtovta))
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package com.rjconsultores.ventaboletos.service;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.PricingEspecificoCanalVendas;
|
||||||
|
|
||||||
|
public interface PricingEspecificoCanalVendasService extends GenericService<PricingEspecificoCanalVendas, Long> {
|
||||||
|
|
||||||
|
Boolean existeCanalVendasPricing(PricingEspecificoCanalVendas entidad);
|
||||||
|
}
|
|
@ -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.PricingEspecificoCanalVendasDAO;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.PricingEspecificoCanalVendas;
|
||||||
|
import com.rjconsultores.ventaboletos.service.PricingEspecificoCanalVendasService;
|
||||||
|
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
||||||
|
|
||||||
|
@Service("pricingEspecificoCanalVendasService")
|
||||||
|
public class PricingEspecificoCanalVendasServiceImpl implements PricingEspecificoCanalVendasService {
|
||||||
|
@Autowired
|
||||||
|
private PricingEspecificoCanalVendasDAO pricingEspecificoCanalVendasDAO;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PricingEspecificoCanalVendas> obtenerTodos() {
|
||||||
|
return pricingEspecificoCanalVendasDAO.obtenerTodos();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PricingEspecificoCanalVendas obtenerID(Long id) {
|
||||||
|
return pricingEspecificoCanalVendasDAO.obtenerID(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public PricingEspecificoCanalVendas suscribir(PricingEspecificoCanalVendas entidad) {
|
||||||
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
|
// entidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
|
entidad.setActivo(Boolean.TRUE);
|
||||||
|
|
||||||
|
return pricingEspecificoCanalVendasDAO.suscribir(entidad);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public PricingEspecificoCanalVendas actualizacion(PricingEspecificoCanalVendas entidad) {
|
||||||
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
|
|
||||||
|
return pricingEspecificoCanalVendasDAO.actualizacion(entidad);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public void borrar(PricingEspecificoCanalVendas entidad) {
|
||||||
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
|
entidad.setActivo(Boolean.FALSE);
|
||||||
|
|
||||||
|
pricingEspecificoCanalVendasDAO.actualizacion(entidad);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public Boolean existeCanalVendasPricing (PricingEspecificoCanalVendas entidad){
|
||||||
|
return pricingEspecificoCanalVendasDAO.isDuplicado(entidad);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue