From ae9b1c6f155e7817994d9c1a25c93f7a156416be Mon Sep 17 00:00:00 2001 From: Luis Angel Espina Hernandez Date: Thu, 22 Aug 2024 15:24:37 -0400 Subject: [PATCH 1/2] Se agrega funcionalidad de configuracion productos #AL-4506 --- pom.xml | 2 +- .../dao/ConfiguracionProductoDAO.java | 7 ++ .../dao/ConfiguracionProductoParadaDAO.java | 11 +++ .../ConfiguracionProductoHibernateDAO.java | 18 ++++ ...nfiguracionProductoParadaHibernateDAO.java | 33 +++++++ .../entidad/ConfiguracionProducto.java | 98 +++++++++++++++++++ .../entidad/ConfiguracionProductoParada.java | 81 +++++++++++++++ .../ConfiguracionProductoParadaService.java | 11 +++ .../service/ConfiguracionProductoService.java | 7 ++ ...onfiguracionProductoParadaServiceImpl.java | 61 ++++++++++++ .../ConfiguracionProductoServiceImpl.java | 55 +++++++++++ 11 files changed, 383 insertions(+), 1 deletion(-) create mode 100644 src/com/rjconsultores/ventaboletos/dao/ConfiguracionProductoDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/ConfiguracionProductoParadaDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/ConfiguracionProductoHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/ConfiguracionProductoParadaHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProducto.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProductoParada.java create mode 100644 src/com/rjconsultores/ventaboletos/service/ConfiguracionProductoParadaService.java create mode 100644 src/com/rjconsultores/ventaboletos/service/ConfiguracionProductoService.java create mode 100644 src/com/rjconsultores/ventaboletos/service/impl/ConfiguracionProductoParadaServiceImpl.java create mode 100644 src/com/rjconsultores/ventaboletos/service/impl/ConfiguracionProductoServiceImpl.java diff --git a/pom.xml b/pom.xml index 464a348ab..09e2599e4 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.98.0 + 1.98.1 diff --git a/src/com/rjconsultores/ventaboletos/dao/ConfiguracionProductoDAO.java b/src/com/rjconsultores/ventaboletos/dao/ConfiguracionProductoDAO.java new file mode 100644 index 000000000..12524b3a9 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/ConfiguracionProductoDAO.java @@ -0,0 +1,7 @@ +package com.rjconsultores.ventaboletos.dao; + +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProducto; + +public interface ConfiguracionProductoDAO extends GenericDAO{ + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/ConfiguracionProductoParadaDAO.java b/src/com/rjconsultores/ventaboletos/dao/ConfiguracionProductoParadaDAO.java new file mode 100644 index 000000000..16e61b90e --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/ConfiguracionProductoParadaDAO.java @@ -0,0 +1,11 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProducto; +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProductoParada; + +public interface ConfiguracionProductoParadaDAO extends GenericDAO{ + + public List buscarPorId(ConfiguracionProducto id); +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConfiguracionProductoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConfiguracionProductoHibernateDAO.java new file mode 100644 index 000000000..b3d6956f1 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConfiguracionProductoHibernateDAO.java @@ -0,0 +1,18 @@ +package com.rjconsultores.ventaboletos.dao.hibernate; + +import org.hibernate.SessionFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Repository; + +import com.rjconsultores.ventaboletos.dao.ConfiguracionProductoDAO; +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProducto; + +@Repository("configuracionProductoDAO") +public class ConfiguracionProductoHibernateDAO extends GenericHibernateDAO implements ConfiguracionProductoDAO{ + + @Autowired + public ConfiguracionProductoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConfiguracionProductoParadaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConfiguracionProductoParadaHibernateDAO.java new file mode 100644 index 000000000..b2e6b3f2e --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConfiguracionProductoParadaHibernateDAO.java @@ -0,0 +1,33 @@ +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.ConfiguracionProductoParadaDAO; +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProducto; +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProductoParada; + +@Repository("configuracionProductoParadaDAO") +public class ConfiguracionProductoParadaHibernateDAO extends GenericHibernateDAO implements ConfiguracionProductoParadaDAO{ + + @Autowired + public ConfiguracionProductoParadaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @SuppressWarnings("unchecked") + @Override + public List buscarPorId(ConfiguracionProducto id) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("configuracionProducto", id)); + return c.list(); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProducto.java b/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProducto.java new file mode 100644 index 000000000..15fed1269 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProducto.java @@ -0,0 +1,98 @@ +package com.rjconsultores.ventaboletos.entidad; + +import java.math.BigDecimal; +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 = "CONFIGURACION_PRODUCTO_SEQ", sequenceName = "CONFIGURACION_PRODUCTO_SEQ", allocationSize = 1) +@Table(name = "CONFIGURACION_PRODUCTO") +public class ConfiguracionProducto { + + @Id + @Basic(optional = false) + @Column(name = "CONFIGURACIONPRODUCTO_ID") + @GeneratedValue(strategy = GenerationType.AUTO, generator = "CONFIGURACION_PRODUCTO_SEQ") + private Long configuracionProductoId; + @ManyToOne + @JoinColumn(name = "TIPOEVENTOEXTRA_ID") + private TipoEventoExtra tipoeventoextra; + @Column(name = "PRECIO") + private BigDecimal precio; + @Column(name = "FECVIGENCIAINICIAL") + @Temporal(TemporalType.DATE) + private Date fecVigenciaInicial; + @Column(name = "FECVIGENCIAFINAL") + @Temporal(TemporalType.DATE) + private Date fecVigenciaFinal; + @Column(name = "ACTIVO") + private Boolean activo; + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + @Column(name = "USUARIO_ID") + private Integer usuarioId; + + public Long getConfiguracionProductoId() { + return configuracionProductoId; + } + public void setConfiguracionProductoId(Long configuracionProductoId) { + this.configuracionProductoId = configuracionProductoId; + } + public TipoEventoExtra getTipoeventoextra() { + return tipoeventoextra; + } + public void setTipoeventoextra(TipoEventoExtra tipoeventoextra) { + this.tipoeventoextra = tipoeventoextra; + } + public BigDecimal getPrecio() { + return precio; + } + public void setPrecio(BigDecimal precio) { + this.precio = precio; + } + public Date getFecVigenciaInicial() { + return fecVigenciaInicial; + } + public void setFecVigenciaInicial(Date fecVigenciaInicial) { + this.fecVigenciaInicial = fecVigenciaInicial; + } + public Date getFecVigenciaFinal() { + return fecVigenciaFinal; + } + public void setFecVigenciaFinal(Date fecVigenciaFinal) { + this.fecVigenciaFinal = fecVigenciaFinal; + } + 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; + } + + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProductoParada.java b/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProductoParada.java new file mode 100644 index 000000000..195ef1052 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProductoParada.java @@ -0,0 +1,81 @@ +package com.rjconsultores.ventaboletos.entidad; + +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 = "CONFIGURACION_PRODUCTO_PARADA_SEQ", sequenceName = "CONFIGURACION_PRODUCTO_PARADA_SEQ", allocationSize = 1) +@Table(name = "CONFIGURACION_PRODUCTO_PARADA") +public class ConfiguracionProductoParada { + + @Id + @Basic(optional = false) + @Column(name = "CONFIGURACION_PRODUCTO_PARADA_ID") + @GeneratedValue(strategy = GenerationType.AUTO, generator = "CONFIGURACION_PRODUCTO_PARADA_SEQ") + private Long configuracionProductoParadaId; + @ManyToOne + @JoinColumn(name = "CONFIGURACIONPRODUCTO_ID") + private ConfiguracionProducto configuracionProducto; + @JoinColumn(name = "PARADA_ID", referencedColumnName = "PARADA_ID") + @ManyToOne + private Parada paradaId; + @Column(name = "USUARIO_ID") + private Integer usuarioId; + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + @Column(name = "ACTIVO") + private Boolean activo; + + public Long getConfiguracionProductoParadaId() { + return configuracionProductoParadaId; + } + public void setConfiguracionProductoParadaId(Long configuracionProductoParadaId) { + this.configuracionProductoParadaId = configuracionProductoParadaId; + } + public ConfiguracionProducto getConfiguracionProducto() { + return configuracionProducto; + } + public void setConfiguracionProducto(ConfiguracionProducto configuracionProducto) { + this.configuracionProducto = configuracionProducto; + } + + public Parada getParadaId() { + return paradaId; + } + public void setParadaId(Parada paradaId) { + this.paradaId = paradaId; + } + public Integer getUsuarioId() { + return usuarioId; + } + public void setUsuarioId(Integer usuarioId) { + this.usuarioId = usuarioId; + } + public Date getFecmodif() { + return fecmodif; + } + public void setFecmodif(Date fecmodif) { + this.fecmodif = fecmodif; + } + public Boolean getActivo() { + return activo; + } + public void setActivo(Boolean activo) { + this.activo = activo; + } + + +} diff --git a/src/com/rjconsultores/ventaboletos/service/ConfiguracionProductoParadaService.java b/src/com/rjconsultores/ventaboletos/service/ConfiguracionProductoParadaService.java new file mode 100644 index 000000000..57035937e --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/ConfiguracionProductoParadaService.java @@ -0,0 +1,11 @@ +package com.rjconsultores.ventaboletos.service; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProducto; +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProductoParada; + +public interface ConfiguracionProductoParadaService extends GenericService{ + + public List buscarPorId(ConfiguracionProducto id); +} diff --git a/src/com/rjconsultores/ventaboletos/service/ConfiguracionProductoService.java b/src/com/rjconsultores/ventaboletos/service/ConfiguracionProductoService.java new file mode 100644 index 000000000..224150bae --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/ConfiguracionProductoService.java @@ -0,0 +1,7 @@ +package com.rjconsultores.ventaboletos.service; + +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProducto; + +public interface ConfiguracionProductoService extends GenericService{ + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConfiguracionProductoParadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConfiguracionProductoParadaServiceImpl.java new file mode 100644 index 000000000..c03fe70c1 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConfiguracionProductoParadaServiceImpl.java @@ -0,0 +1,61 @@ +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.ConfiguracionProductoParadaDAO; +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProducto; +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProductoParada; +import com.rjconsultores.ventaboletos.service.ConfiguracionProductoParadaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("configuracionProductoParadaService") +public class ConfiguracionProductoParadaServiceImpl implements ConfiguracionProductoParadaService{ + + @Autowired + private ConfiguracionProductoParadaDAO configuracionProductoParadaDAO; + + @Override + public List obtenerTodos() { + return configuracionProductoParadaDAO.obtenerTodos(); + } + + @Override + public ConfiguracionProductoParada obtenerID(Long id) { + return configuracionProductoParadaDAO.obtenerID(id); + } + + @Transactional + public ConfiguracionProductoParada suscribir(ConfiguracionProductoParada entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return configuracionProductoParadaDAO.suscribir(entidad); + } + + @Transactional + public ConfiguracionProductoParada actualizacion(ConfiguracionProductoParada entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); +// entidad.setActivo(Boolean.TRUE); + return configuracionProductoParadaDAO.actualizacion(entidad); + } + + @Transactional + public void borrar(ConfiguracionProductoParada entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + configuracionProductoParadaDAO.borrar(entidad); + } + + @Override + public List buscarPorId(ConfiguracionProducto id) { + return configuracionProductoParadaDAO.buscarPorId(id); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConfiguracionProductoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConfiguracionProductoServiceImpl.java new file mode 100644 index 000000000..b822cf6fc --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConfiguracionProductoServiceImpl.java @@ -0,0 +1,55 @@ +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.ConfiguracionProductoDAO; +import com.rjconsultores.ventaboletos.entidad.ConfiguracionProducto; +import com.rjconsultores.ventaboletos.service.ConfiguracionProductoService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("configuracionProductoService") +public class ConfiguracionProductoServiceImpl implements ConfiguracionProductoService{ + + @Autowired + private ConfiguracionProductoDAO configuracionProductoDAO; + + @Override + public List obtenerTodos() { + return configuracionProductoDAO.obtenerTodos(); + } + + @Override + public ConfiguracionProducto obtenerID(Long id) { + return configuracionProductoDAO.obtenerID(id); + } + + @Transactional + public ConfiguracionProducto suscribir(ConfiguracionProducto entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return configuracionProductoDAO.suscribir(entidad); + } + + @Transactional + public ConfiguracionProducto actualizacion(ConfiguracionProducto entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return configuracionProductoDAO.actualizacion(entidad); + } + + @Transactional + public void borrar(ConfiguracionProducto entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + configuracionProductoDAO.borrar(entidad); + } + +} From 4c99d7e54fd155f0ea2f7178d1fac5a8826d296e Mon Sep 17 00:00:00 2001 From: Luis Angel Espina Hernandez Date: Mon, 2 Sep 2024 18:44:07 -0400 Subject: [PATCH 2/2] Fixes Bug#Al-4506 --- .../ventaboletos/entidad/ConfiguracionProductoParada.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProductoParada.java b/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProductoParada.java index 195ef1052..798f8da48 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProductoParada.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ConfiguracionProductoParada.java @@ -16,14 +16,14 @@ import javax.persistence.Temporal; import javax.persistence.TemporalType; @Entity -@SequenceGenerator(name = "CONFIGURACION_PRODUCTO_PARADA_SEQ", sequenceName = "CONFIGURACION_PRODUCTO_PARADA_SEQ", allocationSize = 1) +@SequenceGenerator(name = "CONFIG_PRODUCTO_PARADA_SEQ", sequenceName = "CONFIG_PRODUCTO_PARADA_SEQ", allocationSize = 1) @Table(name = "CONFIGURACION_PRODUCTO_PARADA") public class ConfiguracionProductoParada { @Id @Basic(optional = false) @Column(name = "CONFIGURACION_PRODUCTO_PARADA_ID") - @GeneratedValue(strategy = GenerationType.AUTO, generator = "CONFIGURACION_PRODUCTO_PARADA_SEQ") + @GeneratedValue(strategy = GenerationType.AUTO, generator = "CONFIG_PRODUCTO_PARADA_SEQ") private Long configuracionProductoParadaId; @ManyToOne @JoinColumn(name = "CONFIGURACIONPRODUCTO_ID")